vba cad 获取宏的路径_VBA批量创建文件目录及链接,建议收藏备用
生活随笔
收集整理的這篇文章主要介紹了
vba cad 获取宏的路径_VBA批量创建文件目录及链接,建议收藏备用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
小伙伴們,之前有跟大家分享過Power Query獲取文件夾內文件清單及其屬性的方法【Excel快速獲取文件列表及文件屬性】。今天教大家通過VBA代碼來實現同樣的功能,提取文件夾內的文件信息更加靈活,只要選擇對應的文件夾即可。
實現效果
操作方法:
1. 在Excel界面按快捷鍵ALT+F11進入VBE界面。
2. 在VBE工程里面插入一個模塊。
3. 將以下代碼復制到模塊中。
4. 關閉VBE界面,返回Excel界面,從開發工具中找到表單控件,插入一個按鈕。
5. 按鈕指定宏[GetFileList]即可。
詳細的操作過程
以下是實現本次功能要用到的VBA代碼,有詳細注解,應用非常廣泛,建議收藏備用。
Sub GetFileList() '定義文件夾路徑變量 Dim PathSht As String '清空模板文件里面的數據 ActiveSheet.Range("A3:H65536").Clear '調用文件路徑獲取方法,彈出文件夾選擇對話框 With Application.FileDialog(msoFileDialogFolderPicker) If .Show Then PathSht = .SelectedItems(1) Else Exit Sub End With '先獲取當前文件夾內的文件 GetFileFromFolder PathSht & "" '獲取子文件夾內的文件 GetFolderList PathShtEnd Sub'方法一:從文件夾里面提取文件和文件信息Function GetFileFromFolder(folder_name) '定義文件操作對象 Dim fso As Object '設置文件操作對象 Set fso = CreateObject("Scripting.FileSystemObject") '所有文件類型,如果只要Excel文件則修改為 FileType = "*.xls*" FileType = "*.*" '查找第一個文件 sPath = Dir(folder_name & FileType) '循環到沒有文件為止 Do While Len(sPath) '將文件對象賦值給objfile,方便后續獲取對應屬性數據 Set objfile = fso.GetFile(folder_name & sPath) '當前活動工作表 With ActiveSheet '定位到第一個空行位置 endrow = .Range("A65536").End(xlUp).Row + 1 'A列存放文件夾名稱 .Range("A" & endrow) = folder_name 'B列存放文件名稱 .Range("B" & endrow) = sPath 'C列存放文件類型 .Range("C" & endrow) = objfile.Type 'D列存放文件大小 .Range("D" & endrow) = FormatNumber(objfile.Size / 1024, -1) & "K" 'E列存放文件創建時間 .Range("E" & endrow) = objfile.DateCreated 'F列存放文件修改時間 .Range("F" & endrow) = objfile.DateLastModified 'G列存放文件訪問時間 .Range("G" & endrow) = objfile.Datelastaccessed 'H列創建超鏈接,支持點擊打開文件 ActiveSheet.Hyperlinks.Add Anchor:=.Range("H" & endrow), Address:=folder_name & sPath, ScreenTip:="單擊打開" & sPath, TextToDisplay:="打開文件" End With '查找下一個文件 sPath = Dir LoopEnd Function'方法二:遞歸方式循環遍歷子文件夾Function GetFolderList(strFolder) '定義文件夾操作對象 Dim fso, objFolder, objSubFolder '設置文件操作對象 Set fso = CreateObject("Scripting.FileSystemObject") '判斷文件夾是否存在 If fso.FolderExists(strFolder) Then '定義為父文件夾 Set objFolder = fso.getFolder(strFolder) '定義為子文件夾 Set objSubFolder = objFolder.subFolders '每一個在父文件夾中的子文件夾 For Each oSubFolder In objSubFolder '從文件夾里面獲取文件 GetFileFromFolder oSubFolder & "" '繼續獲取當前文件夾的子文件夾 GetFolderList oSubFolder.Path Next End IfEnd Function最后提個醒:
別忘了把你的Excel文件另存為加載宏工作簿,這樣才可變成永久可以的工具。
總結
以上是生活随笔為你收集整理的vba cad 获取宏的路径_VBA批量创建文件目录及链接,建议收藏备用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 饿肚子睡觉能减肥吗
- 下一篇: 半个月瘦20斤的方法有哪些