【簡単エクセル/Excel VBA マクロ】Mac環境でマクロを動作させるための3つの基本事項|ワンポイントテクニック #012



いつもありがとうございます!
ノンプログラマー向け「Excel VBA マクロ ワンポイントテクニック解説シリーズ」へようこそ。
本稿では「Mac環境でマクロを動作させるための3つの基本事項」を解説いたします。
WindowsとMacでは意外なほど違いがあり、Windowsで動作確認したマクロがMacでそのまま動くとは限りません。むしろ、動かないことの方が圧倒的に多いでしょう。
そこで本稿では、Mac環境でも動作させるための基本事項を解説します。
MacでVBAマクロを動作させようとしている読者の皆さんは、きっとVBAに精通した上級者でしょう。本稿が、あなたのVBAマクロの価値をさらに高める一助となれば幸いです。
VBAを活用して、自分やコミュニティに合ったアプリを作成し、仕事量は半分に、成果は2倍にしていきましょう!ぜひ最後までご覧ください。
Mac環境でマクロを動作させるための3つの基本事項

1. OSに依存しないパスの区切り方にする
WindowsとMacでは、ファイルパスの区切り文字(ディレクトリを区切る記号)が異なります。
' Windowsはバックスラッシュ(\)
C:\Users\YourName\Documents\file.txt
' Mac(およびLinux)はスラッシュ(/)
/Users/YourName/Documents/file.txt
この違いに対応するには、Application.PathSeparator
を使います。Application.PathSeparator
は、WindowsとMac(およびLinux)で、それぞれのOSに合わせたパスの区切り文字を取得するためのプロパティです。
"C:" & _
Application.PathSeparator & "Users" & _
Application.PathSeparator & "YourName" & _
Application.PathSeparator & "Documents" & _
Application.PathSeparator & "file.txt"
2. ファイルパスを半角英数にする
WindowsとMacではファイルシステムが異なる。Macのファイルシステム(UTF-8-NFD)では日本語のファイルパスが解釈されないことがあります。
そのため、Macでは日本語を含むファイルパスが原因でファイオブジェクトルやフォルダオブジェクトの取得に失敗することがあります。
ファイル名を含むファイルパスを半角英数にするとこの問題を回避しやすいです。
' 良い例
/Users/YourName/Documents/example.xlsx
' 良くない例(エラーの可能性あり)
/Users/YourName/ドキュメント/サンプル.xlsx
3. Windowsのライブラリを使わない
ファイルやフォルダを操作する FileSystemObject
を使うための 「Microsoft Scripting Runtime」 などの Windows専用ライブラリ は、Macにはインストールされていません。そのため、Mac環境では動作しません。
Macでも動作させるには、Windowsのライブラリを使わず、ローレベルコードで実装する必要があります。たとえば、FileSystemObject
の代わりにはDir関数
を使うなどの方法があります。Windowsのライブラリを使えないのは大きな制約ですが、避けられません。

以上で解説は終了です!ありがとうございました!
おわりに


ご覧いただきありがとうございました!
今回の記事では、「Mac環境でマクロを動作させるための3つの基本事項」を解説いたしました。
お問い合わせやご要望等ございましたら、「お問い合わせ/ご要望」またはコメントにて、ご連絡いただければ幸いでございます。
皆様の人生がより一層素晴らしいものになるよう、少しでもお役に立てれば幸いでございます。
なお、当サイトでは様々な情報を発信しております。もしよろしければ、トップページもご覧いただけると幸いでございます。
関連記事
本稿と関連の深い記事です。もしよろしければ、合わせてご活用ください。
- 【簡単エクセル/Excel VBA マクロ】解説シリーズ目次 | みんなの実用学(jitsuyogaku.com)
- 【簡単エクセル/Excel VBA マクロ】Excel VBA マクロの全体像 | みんなの実用学 (jitsuyogaku.com)
VBAプログラミングスキルアップのための参考情報
ここでは参考図書を紹介いたしますが、これらに限らず自分に合うものを選ぶことが重要だと考えております。皆様の、より一層のご成功を心よりお祈りしております。
VBAプログラミングのスキルアップ
学習用としてもハンドブックとしても役立つ便利な書籍がこちらです。価格はやや高めですが、その内容は非常に充実しています。相応のスキルを身に付けるためには、こうしたしっかりとした書籍を一冊持っておくと良いでしょう。