2015-10-20 103 views
0

我需要編寫一個腳本來將工作表保存到預定位置,並且保存名稱是從工作表中的值填充的。我可以將它保存在適當的位置,但文件名返回FATPMetiFolderPath和FATPMetiPath(\ Volumes \ MFS1 \ Groups \ METI ... \ METIman \ MMP- FATP.xlsm)的組合。我可以用Windows Excel VBA來做到這一點,但我之前從未使用過Mac。我在PC上編程,但如果在Mac上使用,則需要能夠正確保存。OS X Excel 2011 VBA保存文件名

Sub saveFATPMMMac() 

'Saves copy for access for everyone 
Dim FATPMetiPath As String 
Dim FATPMetiFolderPath As String 


FATPMetiFolderPath = "\Volumes\MFS1\Groups\METI\Quality Control\Function and Acceptance Test Documents\METIman\" 
'FATPMetiFolderPath = "C:\Users\gzapantis\Desktop\" 
FATPMetiPath = FATPMetiFolderPath & _ 
    Sheets("Failure Report").Range("FailReportSN").Text & " - FATP " & ".xlsm" 

ThisWorkbook.SaveAs Filename:=FATPMetiPath 

End Sub 
+0

OS X目錄路徑有不同的路徑分隔符,windows使用'\'但是mac使用':' - 你可以使用'Application.PathSeparator'來代替。其餘代碼應該在OS X上運行正常 –

+1

@MacroMan':'分隔符用於posix路徑。您應該可以使用'/'代替Mac路徑的'\'。 – Tom

+0

@Tom - 我嘗試了您的建議,並將其保存在仍使用路徑和文件名作爲文件名的原始文件的位置中。 –

回答

0

我已經解決了這個問題。它用正確的文件名保存在正確的位置。

Sub saveFATPMMMac() 
'Saves copy for access for everyone 
    Dim FATPMetiPath As String 
    Dim FATPMetiFolderPath As String 

If Application.PathSeparator = ":" Then 
    FATPMetiFolderPath = "Volumes:MFS1:Groups:METI:Quality Control:Function and Acceptance Test Documents:METIman:" 
Else 
    FATPMetiFolderPath = "F:\Groups\METI\Quality Control\Function and Acceptance Test Documents\METIman\" 
End If 

FATPMetiPath = FATPMetiFolderPath & _ 
    Sheets("Failure Report").Range("FailReportSN").Text & " - FATP.xlsm" 

ThisWorkbook.SaveAs Filename:=FATPMetiPath 

End Sub 

謝謝你指點我在正確的方向。