Excel for Macでアクセスできるパスの範囲

April 12, 2023
excel vba Mac Excel for Mac

Excel for Macでアクセスできるパスの範囲

以前Excel for Macで利用するためのスクリプトフォルダに直接アクセスができないと書いたことがありますが、実際にはどこまでアクセスできるのか簡単に調べてみました。環境はMacOS big sur,Excel2019 for Macです。

調査方法

以下のコードでパスを変えながら、コメントアウトでフォルダを開けるか、テキストファイルを保存できるかで判断していきました。

Sub checkMac()
Dim pth As String

pth = "/Users/"

'accessPathCheck (pth)
openDir (pth)

End Sub

保存用

Sub accessPathCheck(ByVal path As String)
Dim path1 As String, appscript As String

path1 = path & "fileaccessTest.txt"
appscript = "Write Success!!!!!"

Open path1 For Output As #2
    Print #2, appscript
Close #2

End Sub

オープン用

Sub openDir(ByVal path As String)

ActiveWorkbook.FollowHyperlink Address:=path

End Sub

結果

結果をまとめたのが以下の表です。

パス オープン 書き込み
Users OK OK
Users/username OK OK
Users/username/library OK OK
Users/username/library/Application Scripts OK NG
Users/username/library/Application Scripts/com.microsoft.Excel OK NG

/users/name/library/まではファイル保存可能でした。それより先はエラーが表示され保存不可能でした。

フォルダを開く方は/Users/name/library/Application Scripts/com.microsoft.Excel/まで可能でしたが、警告ダイアログが表示されてからユーザーの選択を待って開くという形になっていました。

追記: Dir関数を使って AppleScriptTask用のスクリプトファイルの存在確認ができることを確認しました。

Dir(Users/username/library/Application Scripts/com.microsoft.Excel/確認したいAppleScript.applescript)

Excel for Macのセキュリティの高さを知ると同時にAppleScriptも併用しながらVBA開発をする必要があることを思い知らされることとなりました。ユーザーが少数なので仕方ありません。(自分への言い聞かせ)

Next Previous

マクロ無しでシフト表作成ツールその2(使用関数説明編)

May 14, 2024
excel データ入力 操作 QC KAIZEN

マクロ無しでシフト表作成ツールその1(使用方法編)

May 14, 2024
excel データ入力 操作 QC KAIZEN

ガントチャート

May 14, 2024
excel Excel for Mac Mac ForMe FormeStudio QC KAIZEN