日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vba cad 获取宏的路径_VBA批量创建文件目录及链接,建议收藏备用

發(fā)布時間:2023/12/4 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vba cad 获取宏的路径_VBA批量创建文件目录及链接,建议收藏备用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

小伙伴們,之前有跟大家分享過Power Query獲取文件夾內(nèi)文件清單及其屬性的方法【Excel快速獲取文件列表及文件屬性】。今天教大家通過VBA代碼來實現(xiàn)同樣的功能,提取文件夾內(nèi)的文件信息更加靈活,只要選擇對應(yīng)的文件夾即可。

實現(xiàn)效果

操作方法:

1. 在Excel界面按快捷鍵ALT+F11進入VBE界面。

2. 在VBE工程里面插入一個模塊。

3. 將以下代碼復(fù)制到模塊中。

4. 關(guān)閉VBE界面,返回Excel界面,從開發(fā)工具中找到表單控件,插入一個按鈕。

5. 按鈕指定宏[GetFileList]即可。

詳細的操作過程

以下是實現(xiàn)本次功能要用到的VBA代碼,有詳細注解,應(yīng)用非常廣泛,建議收藏備用。

Sub GetFileList() '定義文件夾路徑變量 Dim PathSht As String '清空模板文件里面的數(shù)據(jù) ActiveSheet.Range("A3:H65536").Clear '調(diào)用文件路徑獲取方法,彈出文件夾選擇對話框 With Application.FileDialog(msoFileDialogFolderPicker) If .Show Then PathSht = .SelectedItems(1) Else Exit Sub End With '先獲取當(dāng)前文件夾內(nèi)的文件 GetFileFromFolder PathSht & "" '獲取子文件夾內(nèi)的文件 GetFolderList PathShtEnd Sub'方法一:從文件夾里面提取文件和文件信息Function GetFileFromFolder(folder_name) '定義文件操作對象 Dim fso As Object '設(shè)置文件操作對象 Set fso = CreateObject("Scripting.FileSystemObject") '所有文件類型,如果只要Excel文件則修改為 FileType = "*.xls*" FileType = "*.*" '查找第一個文件 sPath = Dir(folder_name & FileType) '循環(huán)到?jīng)]有文件為止 Do While Len(sPath) '將文件對象賦值給objfile,方便后續(xù)獲取對應(yīng)屬性數(shù)據(jù) Set objfile = fso.GetFile(folder_name & sPath) '當(dāng)前活動工作表 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列存放文件創(chuàng)建時間 .Range("E" & endrow) = objfile.DateCreated 'F列存放文件修改時間 .Range("F" & endrow) = objfile.DateLastModified 'G列存放文件訪問時間 .Range("G" & endrow) = objfile.Datelastaccessed 'H列創(chuàng)建超鏈接,支持點擊打開文件 ActiveSheet.Hyperlinks.Add Anchor:=.Range("H" & endrow), Address:=folder_name & sPath, ScreenTip:="單擊打開" & sPath, TextToDisplay:="打開文件" End With '查找下一個文件 sPath = Dir LoopEnd Function'方法二:遞歸方式循環(huán)遍歷子文件夾Function GetFolderList(strFolder) '定義文件夾操作對象 Dim fso, objFolder, objSubFolder '設(shè)置文件操作對象 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 & "" '繼續(xù)獲取當(dāng)前文件夾的子文件夾 GetFolderList oSubFolder.Path Next End IfEnd Function

最后提個醒:

別忘了把你的Excel文件另存為加載宏工作簿,這樣才可變成永久可以的工具。

總結(jié)

以上是生活随笔為你收集整理的vba cad 获取宏的路径_VBA批量创建文件目录及链接,建议收藏备用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。