Board logo

標題: GetOpenFilename 指定網路芳鄰路徑 [打印本頁]

作者: t591nm    時間: 2015-11-13 11:23     標題: GetOpenFilename 指定網路芳鄰路徑

ChDrive "D\"
ChDir "D:\test\123\"
fileToOpen = Dir(Application.GetOpenFilename("All Files(*.xls),*.xls"))
以上是預設好開啟舊檔時的路徑為D曹test資料夾底下的123資料夾
且可正確執行

那如果想將路徑改為網路芳鄰中的資料夾呢?
ex:Microsoft Windows Network中的Domain中的Woc底下的test資料夾
我寫成這樣
ChDrive "Domain\\"
ChDir "Woc\test"
fileToOpen = Dir(Application.GetOpenFilename("All Files(*.xls),*.xls"))

可是ChDir "Woc\test"這行卻因找不到路徑而錯誤

有試著用檔案總管開啟Domain
但卻出現無法存取Domain,找不到網路路徑
但是我卻可以開啟Woc底下的東西
請問該如何修改呢
謝謝
作者: stillfish00    時間: 2015-11-13 15:28

回復 1# t591nm
因為前一句的 ChDrive 是切換硬碟,你給它網路上的電腦,無法切換過去
三種替代方案:
1. 手動建立連線磁碟機 如 Z: 對應到 \\Domain\Woc\test
    然後改成ChDrive "Z:"
    再GetOpenFilename

2. 改用 Application.FileDialog(msoFileDialogOpen)
    設定其 InitialFileName 為 "\\Domain\Woc\test"

3. 用 API
    Private Declare Function SetCurrentDirectory Lib "kernel32" _
    Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
    呼叫
    SetCurrentDirectory "\\Domain\Woc\test"
    再GetOpenFilename
作者: t591nm    時間: 2015-11-13 17:15

回復 2# stillfish00


我嘗試用第2種
但還是不行
路徑依然沒變(還是在系統預設路徑)
因為我下面還有牽扯到須要將該筆檔案複製到另一工作表

如果用第1種
但卻不知道該怎麼建立連線磁碟機
作者: stillfish00    時間: 2015-11-13 18:00

回復 3# t591nm
我試過可以,檢查你路徑是不是填錯或寫法寫錯吧
共用資料夾路徑都是  \\電腦名稱\資料夾名稱
你的"Domian"是網路芳鄰的電腦嗎.....???

"連線磁碟機" google 一下,第一項就有了....
作者: t591nm    時間: 2015-11-16 13:35

回復 4# stillfish00


謝謝回覆
我知道問題出在哪了
是在於搞錯了電腦名稱
其實Woc才是電腦名稱

另外關於網路磁碟機
因為電腦屬於XP
也沒接觸過這區塊
所以才會不知道怎麼連結

感謝大大回覆




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)