執筆:EugeneAmnis
GeminiにExcel for Macについて聞いてみた(AppleScriptTask編)
今、巷を賑わせているAI。遅ればせながら少し触ってみることにしました。今回は利用始めのハードルが低いGeminiにExcel for Mac固有機能であるAppleScriptTaskについて軽く質問してどこまで答えてくれるかを調べてみました。
尚、質問は「Excel for MacのAppleScriptTaskの使い方について。」とシンプルなものです。
Geminiの答え
Excel for MacのVBAでAppleScriptを実行する機能として、AppleScriptTaskが利用できます。これにより、Excelの操作だけでは難しい、他のアプリケーションとの連携やシステム全体の自動化を実現できます。
AppleScriptTaskを使うメリット
- Excelの機能拡張: Excelだけでは実現できない、システム全体を巻き込んだ自動化が可能になります。
- 他のアプリケーションとの連携: Finder、Safariなど、他のアプリケーションを制御できます。
- 複雑な処理の自動化: 繰り返し作業や、条件分岐などを含む複雑な処理を自動化できます。
AppleScriptTaskの使い方
- AppleScriptの作成:
- Script EditorでAppleScriptを作成します。
- 実行したい処理を記述します。
- スクリプトを保存する際は、拡張子を.scptまたは.applescriptにします。
- Script EditorでAppleScriptを作成します。
スクリプトの配置:
作成したスクリプトファイルを、以下のフォルダに配置します。
~/Library/Application Scripts/com.microsoft.Excel/
注意: フォルダが存在しない場合は、自分で作成してください。
VBAでの呼び出し:
ExcelのVBAエディタで、以下のコードのようにAppleScriptTask関数を使用します。
VB.Net
Sub 実行するマクロ名()
Dim strScriptPath As String
strScriptPath = "/Users/あなたのユーザー名/Library/Application Scripts/com.microsoft.Excel/あなたのスクリプトファイル名.scpt"
Call AppleScriptTask(strScriptPath, "")
End Sub
strScriptPathには、スクリプトファイルのフルパスを指定します。
第二引数は、現在のところ必須ですが、空文字列を指定すれば問題ありません。
例: Finderでフォルダを開く
AppleScript
tell application "Finder"
open folder "/Users/あなたのユーザー名/Documents"
end tell
上記のスクリプトをOpenFolder.scptという名前で保存し、VBAから以下のように呼び出します。
VB.Net
Sub Finderを開く()
Dim strScriptPath As String
strScriptPath = "/Users/あなたのユーザー名/Library/Application Scripts/com.microsoft.Excel/OpenFolder.scpt"
`Call AppleScriptTask(strScriptPath, "")`
End Sub
注意点
- セキュリティ: AppleScriptTaskは、サンドボックス外のスクリプトを実行するため、セキュリティ上のリスクが伴います。信頼できるスクリプトのみ実行するようにしましょう。
- エラー処理: エラーが発生した場合、適切なエラー処理を行う必要があります。
- AppleScriptの知識: AppleScriptの文法や機能を理解する必要があります。
その他
- AppleScriptTaskの引数: 第二引数に、AppleScriptに渡すパラメータを指定することも可能です。
- 複雑な処理: 複数のスクリプトを組み合わせたり、変数を活用することで、より複雑な処理を実現できます。
参考資料
- Microsoft Learn: https://learn.microsoft.com/ja-jp/office/vba/office-mac/applescripttask
- Qiita: https://qiita.com/EugenesWorks/items/f802a8680836de951ab8
- Mac Excel Automation: https://macexcel.com/examples/setupinfo/applescripttask/
まとめ
AppleScriptTaskは、Excelの機能を拡張し、様々な自動化を実現するための強力なツールです。しかし、セキュリティやエラー処理など、注意すべき点もいくつかあります。しっかりと理解した上で活用しましょう。
何かさらに詳しい情報が必要な場合は、お気軽にご質問ください。
例として、以下のような質問にご回答できます。
- 特定のアプリケーションを操作するAppleScriptの書き方を教えてほしい。
- Excelのデータをもとに、他のアプリケーションで処理を行いたい。
- AppleScriptでエラーが発生する。どうすれば解決できるか?
どのようなことをしたいのか、具体的に教えていただけると、より的確なアドバイスができます。
Geminiの答え終わり
感想
思ったより、詳しく教えてくれました。今回はコードの検証まではしませんがプログラム名がVB.netになっている以外は概ね正しいです。初めての方が概要を掴むには十分と言えます。勿論、Windows、Mac両環境がある職場では不具合を起こす可能性がありますが、Macだけで利用するなら問題の無いコードになっています。
「やっぱりまだまだかな。」というオチになるかなと予想していましたが、逆にちょっと感動を覚えてしまいました。
専用のAIであるCopilotとの違いも気になりますね。