2013-05-19 83 views
2

我的我的Mac電腦上的VBA代碼有問題。它在Windows上正常工作。我知道它與指定目錄有關,但我不確定正確的語法。
工作簿位於一個文件夾中,然後我想指定與工作簿位於同一文件夾中的另一個文件夾(Datatextfiles)。在PC上但不是Mac上的路徑

'Change Path 
Dim strPath As String 
Dim MyDir As String 
MyDir = ActiveWorkbook.Path 
strPath = MyDir & "/Datatextfiles/" 

Dim strExtension As String 

'Stop Screen Flickering 
Application.ScreenUpdating = Falsew 

'Change extension 
strExtension = Dir(strPath & "*.txt") 

clearData 

Do While strExtension <> "" 
+0

這也是我的理解,蘋果不承認文件擴展名。我無法對此進行測試,但我知道包括文件擴展名參數會在某些情況下引發錯誤,例如'Application.GetOpenFileName()'或'.GetSaveAsFileName'等。 –

回答

0

你傳遞一個無效的名稱Dir()。當你的代碼被寫入時,它會通過MyDir & "/Datatextfiles*.txt",這顯然是無效的。您也首先更改爲strPath文件夾,因此您要指定一個新路徑,即strPath/strPath & "*.txt",這又是無效的。

要麼添加尾部/strPath並刪除ChDir電話:

strPath = MyDir & "/Datatextfiles/" 
.... 
strExtension = Dir(strPath & "*.txt") 

或消除路徑,只需使用

ChDir strPath 
strExtension = Dir("*.txt") 
+0

感謝您的回覆。這似乎在Windows上工作,但它仍然給出錯誤「找不到路徑」並突出顯示ChDir strPath – Skittles

+0

您需要提供更多信息(通過編輯您的問題來實現)。沒有它,我們就無法告訴你什麼;我已經解決了代碼中的兩個明顯問題,但是如果沒有更多信息,我無法提供更多幫助。 –

+0

進行了適當的更正。我現在收到「設備不可用」錯誤,並且strExtension = Dir(strPath&「* .txt」)突出顯示 – Skittles

2

我以爲你是在Mac上一個問題,因爲你沒有爲您的路徑使用Mac路徑分隔符。

嘗試下面的代碼行:

strPath = MyDir & Application.PathSeparator & Datatextfiles & Application.PathSeparator 
4

你們都不是正確的。在Mac文件夾分離器的正確名稱是一個冒號「:」如

ChDir "KathyStringHD:Library:WebServer:Documents:DispatchReports:InTime:" 
相關問題