'
?形式?密碼
'
-
選項?明確的
私人?劃?作為?整數,?科爾?作為?整數
私人?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))
結束?功能