我最近從PC更改爲Mac。我運行了很多宏,其中99%運行正常,但我有一個在Mac上無法運行。傳輸特定於Windows的宏以在Mac上運行Excel
它在文件中的所有工作簿上運行一組其他宏。要做到這一點,它使用的字符串是這樣的:
Function BrowseFolder(Title As String, _ Optional InitialFolder As String = vbNullString, _ Optional InitialView As Office.MsoFileDialogView = _ msoFileDialogViewList) As String
當我嘗試在Mac其上運行該回來了一個錯誤:
"compile error: variable not defined"
我不知道是否有人能幫助我端起這個宏在Mac上運行。它建立在Excel 2007 Windows上,我試圖在Excel 2011 Mac上運行它。
Option Explicit
Function GetFolder(Optional strPath As String) As String
Dim fldr As FileDialog
Dim sItem As String
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
.Title = "Select a Folder"
.AllowMultiSelect = False
If Not IsEmpty(strPath) Then
.InitialFileName = strPath
End If
If .Show <> -1 Then GoTo NextCode
sItem = .SelectedItems(1)
End With
NextCode:
GetFolder = sItem
Set fldr = Nothing
End Function
Private Sub test()
Dim v As Variant
'V = GetFolder()
v = BrowseFolder("Select folder")
End Sub
Function BrowseFolder(Title As String, _
Optional InitialFolder As String = vbNullString, _
Optional InitialView As Office.MsoFileDialogView = _
msoFileDialogViewList) As String
Dim v As Variant
Dim InitFolder As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = Title
.InitialView = InitialView
If Len(InitialFolder) > 0 Then
If Dir(InitialFolder, vbDirectory) <> vbNullString Then
InitFolder = InitialFolder
If Right(InitFolder, 1) <> "\" Then
InitFolder = InitFolder & "\"
End If
.InitialFileName = InitFolder
End If
End If
.Show
On Error Resume Next
Err.Clear
v = .SelectedItems(1)
If Err.Number <> 0 Then
v = vbNullString
End If
End With
BrowseFolder = CStr(v)
End Function
「當我嘗試在Mac上運行它時,它返回一個錯誤」...並且該錯誤將是...? – LittleBobbyTables 2012-07-19 19:58:04
我得到的錯誤是「編譯錯誤:變量未定義」 – sam 2012-07-19 19:59:43
上面代碼中的哪一行表示錯誤? – LittleBobbyTables 2012-07-19 20:01:15