1

最近PCからMacに乗り換えました。多くのマクロを実行し、それらの 99% は正常に動作していますが、Mac では動作しないマクロがあります。

ファイル内のすべてのブックで他のマクロのセットを実行します。これを行うには、次のような文字列を使用します。

Function BrowseFolder(Title As String, _ Optional InitialFolder As String = vbNullString, _ Optional InitialView As Office.MsoFileDialogView = _ msoFileDialogViewList) As String

これを Mac で実行しようとすると、エラーが返されます。

「コンパイル エラー: 変数が定義されていません」

このマクロを 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
4

1 に答える 1

1

msoFileDialogViewList refers to a specific view of the Windows standard file dialog. The Mac standard file dialog doesn't have equivalent modes; my guess is that the InitialView parameter either doesn't exist or is ignored on the Mac platform.

I'd advise either removing the parameter entirely or using the equivalent integer value (1) instead of the symbolic name.

于 2012-07-20T02:58:37.027 に答える