當前位置:成語大全網 - 書法字典 - EXCEL vba讀取指定文件夾的名稱,並循環打開該文件夾。

EXCEL vba讀取指定文件夾的名稱,並循環打開該文件夾。

-

'

?形式?密碼

'

-

選項?明確的

私人?劃?作為?整數,?科爾?作為?整數

私人?Sub?CloseWindows_Click()

如果?TextStartRow。文字?=?""?然後呢?TextStartRow?=?0

如果?TextStartCol?=?""?然後呢?TextStartCol?=?0

如果?TextPath?=?""?然後呢?TextPath?=?" D:\ "

CloseMyDialog?TextStartRow,?TextStartCol

結束?潛水艇

私人?Sub?GetDir_Click()

如果?TextStartRow。文字?=?""?然後呢?TextStartRow?=?0

如果?TextStartCol?=?""?然後呢?TextStartCol?=?0

如果?TextPath?=?""?然後

TextPath?=?" D:\ "

埃爾瑟夫?右(TextPath,?1)?& lt& gt?"\"?然後

TextPath?=?TextPath?& amp?"\"

結束?如果

doGetDir?文本路徑,?Val(TextStartRow),?Val(文本開始列)

結束?潛水艇

私人?Sub?ShowWindows_Click()

如果?TextStartRow。文字?=?""?然後呢?TextStartRow?=?0

如果?TextStartCol?=?""?然後呢?TextStartCol?=?0

如果?TextPath?=?""?然後呢?TextPath?=?" D:\ "

ShowMyDialog?Application.hWnd,?TextStartRow,?TextStartCol

結束?潛水艇

它在表格之上

選項?明確的

暗淡?MyFile,?我的路?我的名字

暗淡?我%,?j%

暗淡?DirPath()?作為?線

Sub?GetDir(ByVal?我的路?作為?字符串,?劃?作為?整數,?科爾?作為?整數)

?展示?C:\?目錄下的名稱。

我的路?=?" d:\電大\ " '?指定路徑。

我的名字?=?目錄(我的路徑,vbDirectory)'?尋找第壹個項目。

做什麽?什麽時候?我的名字?& lt& gt?""'?開始循環。

?跳過當前目錄和父目錄。

如果?我的名字?& lt& gt?"."?然後呢。我的名字?& lt& gt?".."?然後

?用位比較來確定?我的名字?表示壹個目錄。

如果?(GetAttr(Mypath?& amp?我的名字)?然後呢。vbDirectory)?=?vbDirectory?然後

單元格(行?+?我,?col)?=?我的路?& amp?我的名字??如果是目錄,顯示其名稱。

雷迪姆?保存?方向(壹)

DirPath(i)?=?我的路?& amp?我的名字?& amp?"\"

我?=?我?+?1

結束?如果

結束?如果

我的名字?=?導演嗎?找到下壹個目錄。

結束?潛水艇

公?Sub?doGetDir(ByVal?TextPath$,?ByVal?TextStartRow%,?ByVal?TextStartCol%)

j?=?1

我?=?1

我的路?=?文本路徑

GetDir?我的路?TextStartRow,?TextStartCol

為了什麽?j?=?1?去哪?我?-?1

GetDir?DirPath(j),?TextStartRow,?TextStartCol

然後

結束?潛水艇

結束?代碼-

選項?明確的

公?Const?OFN_ALLOWMULTISELECT?作為?龍?=?& ampH200

公?Const?OFN _創建提示?作為?龍?=?& ampH2000

公?Const?OFN_ENABLEHOOK?作為?龍?=?& ampH20

公?Const?OFN _啟用模板?作為?龍?=?& ampH40

公?Const?OFN _啟用模板句柄?作為?龍?=?& ampH80

公?Const?OFN探險家?作為?龍?=?& ampH80000

公?Const?OFN分機不同?作為?龍?=?& ampH400

公?Const?OFN文件必須存在嗎?作為?龍?=?& ampH1000

公?Const?OFN _ hidereodonly?作為?龍?=?& ampH4

公?Const?OFN龍納斯?作為?龍?=?& ampH200000

公?Const?OFN諾昌迪爾?作為?龍?=?& ampH8

公?Const?OFN _無參考鏈接?作為?龍?=?& ampH100000

公?Const?OFN-諾龍納斯?作為?龍?=?& ampH40000

公?Const?OFN _非網絡按鈕?作為?龍?=?& ampH20000

公?Const?OFN _諾裏登利勒特?作為?龍?=?& ampH8000 & amp?*看到了嗎?評論

公?Const?OFN _ notes file create?作為?龍?=?& ampH10000

公?Const?OFN諾瓦裏達特?作為?龍?=?& ampH100

公?Const?OFN _ overwrite promp?作為?龍?=?& amp氘

公?Const?OFN _路徑必須存在嗎?作為?龍?=?& ampH800

公?Const?OFN只讀?作為?龍?=?& ampH1

公?Const?OFN共享意識?作為?龍?=?& ampH4000

公?Const?OFN共享瀑布?作為?龍?=?2

公?Const?OFN共享警告?作為?龍?=?0

公?Const?OFN夏倫沃恩?作為?龍?=?1

公?Const?OFN show help?作為?龍?=?& ampH10

公?Const?OFS _最大路徑名?作為?龍?=?260

公?Const?OFS _文件_打開_標誌?=?OFN探險家?_

還是?OFN龍納斯?_

還是?OFN _創建提示?_

還是?OFN _無參照鏈接

公?Const?OFS文件保存標誌?=?OFN探險家?_

還是?OFN龍納斯?_

還是?OFN _ overwrite promp?_

還是?OFN _隱藏只讀

公?類型?OPENFILENAME

nStructSizeAs?長的

hWndOwner?作為?長的

hInstance?作為?長的

斯菲特拉斯?線

sCustomFilter?作為?線

nMaxCustFilterAs?長的

nFilterIndex?作為?長的

sFile?作為?線

nMaxFile?作為?長的

sFileTitleAs?線

nMaxTitle?作為?長的

sInitialDirAs?線

sDialogTitle?作為?線

旗幟?作為?長的

nFileOffsetAs?整數

nFileExtensionAs?整數

sDefFileExtAs?線

nCustData?作為?長的

fnHookAs?長的

sTemplateName?作為?線

結束?類型

公?OFN?作為?OPENFILENAME

公?Const?WM_CLOSE?=?& ampH10

公?申報?功能?GetOpenFileName?Lib?《comdlg32》?_

別名?" GetOpenFileNameA "?_

(pOpenfilename?作為?OPENFILENAME)?作為?長的

公?申報?功能?GetSaveFileName?Lib?《comdlg32》?_

別名?" GetSaveFileNameA "?_

(pOpenfilename?作為?OPENFILENAME)?作為?長的

公?申報?功能?GetShortPathName?Lib?“內核32”?_

別名?“GetShortPathNameA”?_

(ByVal?lpszLongPath?作為?字符串,?_

ByVal?lpszShortPath?作為?字符串,?_

ByVal?cchBuffer?作為?龍)?作為?長的

公?Const?WM_INITDIALOG?=?& ampH110

私人?Const?SW_SHOWNORMAL?=?1

公?類型?矩形

向左?作為?長的

Top?作為?長的

對嗎?作為?長的

底部?作為?長的

結束?類型

公?申報?功能?GetParent?Lib?“用戶32”?_

(ByVal?hWnd?作為?龍)?作為?長的

公?申報?功能?SetWindowText?Lib?“用戶32”?_

別名?“SetWindowTextA”?_

(ByVal?hWnd?作為?龍,?_

ByVal?lpString?作為?字符串)?作為?長的

公?申報?功能?MoveWindow?Lib?“用戶32”?_

(ByVal?hWnd?作為?龍,?_

ByVal?x?作為?龍,?_

ByVal?y?作為?龍,?_

ByVal?nWidth?作為?龍,?_

ByVal?高度?作為?龍,?_

ByVal?bRepaint?作為?龍)?作為?長的

公?申報?功能?GetWindowRect?Lib?“用戶32”?_

(ByVal?hWnd?作為?龍,?_

lpRect?作為?RECT)?作為?長的

公?申報?功能?SendMessage?Lib?“用戶32”?_

別名?“SendMessageA”?_

(ByVal?hWnd?作為?龍,?_

ByVal?wMsg?作為?龍,?_

ByVal?wParam?作為?龍,?_

lParam?作為?任何)?作為?長的

公?申報?功能?FindWindow?Lib?“用戶32”?_

別名?“FindWindowA”?_

(ByVal?lpClassName?作為?龍,?_

ByVal?lpWindowName?作為?字符串)?作為?長的

公?功能?FARPROC(ByVal?pfn?作為?龍)?作為?長的

FARPROC?=?pfn

結束?功能

公?功能?OFNHookProc(ByVal?hWnd?作為?龍,?_

ByVal?uMsg?作為?龍,?_

ByVal?wParam?作為?龍,?_

ByVal?lParam?作為?龍)?作為?長的

暗淡?hwndParent?作為?長的

暗淡?rc?作為?矩形

暗淡?newLeft?作為?長的

暗淡?newTop?作為?長的

暗淡?dlgWidth?作為?長的

暗淡?迪格萊特?作為?長的

暗淡?scrWidth?作為?長的

暗淡?scrHeight?作為?長的

選擇?案子?uMsg

案子?WM_INITDIALOG

hwndParent?=?GetParent(hWnd)

如果?hwndParent?& lt& gt?0?然後

打電話?GetWindowRect(hwndParent,rc)

dlgWidth?=?rc。對嗎?-?rc。左邊的

迪格萊特?=?rc。底部?-?rc。頂端

打電話?MoveWindow(hwndParent,newLeft?newTop?dlgWidth,?迪格萊特?真實)

OFNHookProc?=?1

結束?如果

案子?否則:

結束?挑選

結束?功能

公?Sub?ShowFolder(hWnd?作為?龍,?我的路徑$)

暗淡?sFilters?作為?線

暗淡?pos?作為?長的

暗淡?buff?作為?線

暗淡?sLongname?作為?線

暗淡?Shortname?作為?線

用什麽?OFN

。nStructSize?=?倫(OFN)

。hWndOwner?=?hWnd

。sFilter?=?過濾器

。nFilterIndex?=?2

。sFile?=?Space$(1024)?& amp?vbNullChar?& amp?vbNullChar

。nMaxFile?=?Len(。sFile)

。sDefFileExt?=?"巴斯"& amp?vbNullChar?& amp?vbNullChar

。sFileTitle?=?vbNullChar?& amp?Space$(512)?& amp?vbNullChar?& amp?vbNullChar

。nMaxTitle?=?Len(OFN.sFileTitle)

。sInitialDir?=?我的路?& amp?vbNullChar?& amp?vbNullChar

。sDialogTitle?=?我的路?& amp?vbNullChar?& amp?vbNullChar

。旗幟?=?OFS _文件_打開_標誌?還是?_

OFN_ALLOWMULTISELECT?還是?_

OFN探險家?還是?_

OFN _使能鉤

。fnHook?=?FARPROC(AddressOf?OFNHookProc)

結束?隨著

GetOpenFileName?OFN

結束?潛水艇

公?Sub?CloseFolder(Mypath?作為?字符串)

暗淡?hWnd?作為?長的

hWnd?=?FindWindow(0,我的路徑)

打電話?發送消息(hWnd,WM_CLOSE,?0 & amp,?ByVal?0 & amp)

結束?潛水艇

公?Sub?ShowMyDialog(MyhWnd?作為?龍,?TextStartRow?作為?整數,?TextStartCol?作為?整數)

暗淡?劃,?山口

暗淡?我

暗淡?hWnd?作為?長的

hWnd?=?MyhWnd

我?=?1:?劃?=?TextStartRow:?科爾?=?TextStartCol

做什麽?什麽時候?細胞(我?+?劃,?col)?& lt& gt?""

貝殼?" C:\Windows\explorer.exe?"?& amp?細胞(我?+?劃,?col)

ShowFolder?hWnd,?細胞(我?+?劃,?col)

hWnd?=?FindWindow(0,細胞(我?+?劃,?col))

我?=?我?+?1

結束?潛水艇

公?Sub?CloseMyDialog(TextStartRow?作為?整數,?TextStartCol?作為?整數)

暗淡?劃,?山口

暗淡?我

我?=?1:?劃?=?TextStartRow:?科爾?=?TextStartCol

做什麽?什麽時候?細胞(我?+?劃,?col)?& lt& gt?""

CloseFolder?pathToName(Cells(i?+?劃,?col))

我?=?我?+?1

結束?潛水艇

私人?功能?pathToName(Mypath$)?作為?線

暗淡?str()?作為?線

str?=?分割(我的路徑,"\")

pathToName?=?str(未綁定(str))

結束?功能