有人可以建议在 Excel for Mac 中使用的等效代码会产生与Windows中相同的结果?
Path = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"
ActiveWorkbook.SaveAs Path & "CAD DATA.xlsx"
答案 0 :(得分:2)
使用类似以下功能的内容
Function GetDesktopPath() As String
#If Mac Then
GetDesktopPath = Mid(MacScript("tell application ""Finder""" & vbLf & "return desktop as alias" & vbLf & "end tell"), 7)
#Else
GetDesktopPath = CreateObject("WScript.Shell").SpecialFolders("Desktop")
#End If
End Function
在您的代码中使其在Mac和Windows上均可使用
Path = GetDesktopPath & Application.PathSeparator
ActiveWorkbook.SaveAs Path & "CAD DATA.xlsx"
确保ActiveWorkbook
实际上是您要使用的。您可能打算使用ThisWorkbook
:
ActiveWorkbook
是在运行此代码时重点(位于顶部)的工作簿。只需单击鼠标或任何其他干扰,即可轻松更改。ThisWorkbook
是运行此代码的工作簿。这更加可靠,因为它不会因任何用户交互而改变。① MacScript的来源:http://www.vbaexpress.com/forum/showthread.php?54852-Returning-the-Desktop-Path