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

December 3, 2020
excel vba Mac

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

前々回前回に引き続き、Mac版の VBA のファイル関連関数の挙動を見ていきます。今回がひとまず最後となります。最後の内容はファイル情報関数です。 VBA では読み込むファイルサイズを確認し、Excel では読み込めないような大きなサイズのファイルを検知するために利用される方も多いと思います。

前提条件

フォルダ VbaMacVsWin3 とその中にある test.txt の情報を見ます。流れとして、まず Mac側でフォルダとファイルを作成し、Windows側にコピー。挙動検証後にMac側の元ファイルを上書きし、挙動検証という形をとっています。 test.txtファイルは変更していません。フォルダ VbaMacVsWin3 に関しては 挙動検証後にスクリーンショットを撮るのを忘れた為、あくまで参考としてください。

Windows

Mac

コードと結果

Windows

Mac

コード

Sub dateAttrTest()

Dim dpath As String
Dim path As String

dpath = ThisWorkbook.Worksheets(2).Range("B2").value
path = ThisWorkbook.Worksheets(2).Range("B3").value

With ThisWorkbook.Worksheets(2)
    
    .Range("B6").value = FileDateTime(dpath)//ファイル作成年月日
    .Range("C6").value = FileDateTime(path)
    .Range("B7").value = GetAttr(dpath)     //属性取得
    .Range("C7").value = GetAttr(path)
    .Range("B8").value = FileLen(dpath)     //サイズ
    .Range("C8").value = FileLen(path)
    
End With

ほぼ、同じ結果になっていますが、test.txt の GetAttr関数結果が違っています。Windows版ではアーカイブ(最後のバックアップ後に変更されたファイル)となっていますが、Mac版では通常ファイルとなっています。手元のリファレンスでは Mac専用コードとなっているようです。

僅かな違いですが、実際にコーディングする場合は大きな問題になる可能性を秘めています。Windows と Mac 両方で使用されると思われる VBA を組んでいる方の少しでも参考になれば幸いです。

Next Previous

Excel 2019 for Mac VBA での画像の扱い

December 4, 2020
excel vba Mac

Excel 2019 for Mac でのユーザーフォーム

December 4, 2020
excel フォーム データ入力 vba Mac

Excel 2019 for Mac VBE での日本語入力

December 4, 2020
excel vba Mac