返回列表 上一主題 發帖

[發問] 如何改寫讓這個程式碼在隨身碟上可以執行

[發問] 如何改寫讓這個程式碼在隨身碟上可以執行

Sub 打開案夾裡所有檔案_矩形3_Click()
Dim mFile As String
mFile = Dir("D:\桌面\080526\0201\*.XLSx")
Do While mFile <> ""
Workbooks(mFile).Close False
mFile = Dir()
Loop

End Sub

回復 1# oak0723-1
把底下這些文字改成你隨身碟要處理那些檔案的所在目錄,

D:\桌面\080526\0201\

TOP

問題是……怎麼寫

TOP

可能我沒把我的問題寫清楚,所以讓各位先進誤解
我的意思是說我把這個巨集檔案存放在隨身碟上的條件下,如何在任意電腦上都可以執行?
我覺得問題應該是在"D:\桌面\080526\0201\*.XLSx"上
問題是我不知道如何改寫
因為路徑會隨著電腦不同而不同

TOP

這個檔案的路徑

可以用 ThisWorkbook.Path 取得

TOP

Sub 打開案夾裡所有檔案_矩形3_Click()
Dim mFile As String
mFile = Dir(ThisWorkbook.Path&"\桌面\080526\0201\*.XLSx")
Do While mFile <> ""
Workbooks(mFile).Close False
mFile = Dir()
Loop

End Sub
-----好像怪怪

TOP

回復 6# oak0723-1

程式碼看起來是截取其中一段,檔案都沒打開,就關閉,所以這段程式無法做什麼動作...與隨身碟無關
程式碼是打開 "D:\桌面\080526\0201\"裡面的檔案...在桌面的檔案一般都在C,你的卻是在D
先查下路徑有沒有錯?有錯改路徑即可打開檔案
稍加修改為
Sub 打開案夾裡所有檔案_矩形3_Click()
Dim mFile As String, Path As String
Path = "D:\桌面\080526\0201\"   '路徑,少了這段檔案打不開
mFile = Dir(Path & "*.xlsx")  '路徑中的檔案
Do While mFile <> ""
Workbooks.Open(Path & mFile) '開啟檔案
...做某些動作...
Workbooks(Path & mFile).Close False '不存檔就關閉
mFile = Dir()
Loop

End Sub

TOP

謝謝你的解惑

TOP

        靜思自在 : 人要知福、惜福、再造福。
返回列表 上一主題