LoginSignup
1
1

More than 3 years have passed since last update.

Excel 2019 for Mac ファイル関連関数の挙動について

Posted at

Excel 2019 for Mac ファイル関連関数の挙動について

ExcelのVBAを利用されている方の大半はシート上の操作だけでなく、他のブックやCSVデータを参照したり、ファイル操作を行う事が多いと思います。前回はDir関数について書きましたが、今回はWindowsとMacではどの程度、差があるのかここで表にしてみたいと思います。

環境はMacOS Catalina , Excel2019です。

関数名 Windows Mac
Application.GetOpenFilename() OK OK
GetOpenFilename(FileFilter:=“CSV Files (*.csv), *.csv”) OK NG
FileDialog(msoFileDialogFolderPicker) OK NG
Name BEFOREPATH As AFTERPATH OK OK
Workbooks.Open filename:=PATH OK OK
FileCopy ORIGINALPATH, COPYPATH OK OK
Kill PATH OK OK
Application.DefaultFilePath OK OK
ThisWorkbook.path OK OK
MkDir (NEWPATH) OK OK
RmDir (PATH) OK OK
FileDateTime(PATH) OK OK
FileLen(PATH) OK OK
Open PATH For Output As #1 OK OK*

基本的に使用可能ではありますが、ワイルドカードのあるGetOpenFilename()とFileDialog(msoFileDialogFolderPicker)は使用できません。
ワイルドカードのあるGetOpenFilename()では以下のエラーが表示されます。
openfilename_mac.png

FileDialog(msoFileDialogFolderPicker)では以下のエラーが表示され、コードのチップを見てみるとNothingと表示されています。
folderdialog1_mac.png

folderdialog2_mac.png

特に気を付けなくてはならないのが、Openステートメントです。指定したパスに日本語のフォルダが入っているとエラーが発生し、ファイルの保存に失敗します。回避する為には共有フォルダに保存するかAppleScriptで実装するしかありません。

また、初めてアクセスするファイルやフォルダにはアクセス権の付与が必要になります。他のブックの参照をする際、初めて参照するブックを開く場合はアクセス権の付与ダイアログが表示され、マクロが停止します。

Workbooks.Openでは参照先がマクロブックの場合はセキュリティによって、マクロ許可ダイアログでマクロが停止します。Windows版ではマクロ許可バナーになっているので問題ありません。尚、Mac版ではマクロを個別で許可することはできません。

詳しいことはブログにも書いています。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1