執筆:EugeneAmnis
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開発をする必要があることを思い知らされることとなりました。ユーザーが少数なので仕方ありません。(自分への言い聞かせ)
リンク
リンク