拡張子とは?
拡張子(かくちょうし)という言葉は、通常時、あまり意識しないので少し難しく感じるかもしれませんが、ファイルの正式名称を表す重要な部分 です。
ファイル名の後ろについている部分が拡張子 であり、VBAでファイルを扱う際には必ず意識する必要があります。
1. Excelの拡張子の種類
Excelで使用される拡張子には、主に次のような種類があります。
拡張子 | 説明 |
---|---|
.xlsx | 通常のExcelファイル |
.xlsm | マクロ対応のExcelファイル |
.csv | カンマ(またはタブ)区切りのデータ |
.xls | Excel2003以前のファイル |
マクロを搭載するには xlsm
形式でないと保存できません。(Excel2003以前はxlsで保存できます)
それ以外で保存をすると警告が出ますが、それを無視して保存し、閉じてしまうとマクロが全て消えてしまうことになりますので、注意しましょう・・・。
2. 拡張子の違いによる注意点
VBAでファイルを扱う際、拡張子の違いに注意が必要 です。
拡張子が異なると、同じ名前でも別ファイルと認識され、例えば、次のファイルはすべて異なるファイルとして扱われます。
ファイル.xlsx
ファイル.xlsm
ファイル.csv
パソコン上でも、それぞれ別のファイルとして存在 し、VBAで指定するときも、このように別ファイルとして扱われるので、正しく拡張子を付ける必要があります。
3. 拡張子の表示方法とVBAへの影響
Windowsの設定によっては、拡張子が表示されていないことがあります。
この場合、VBAでファイルを指定するときにエラーになる可能性がある ため、拡張子を表示して確認しましょう。
拡張子を表示する方法(Windows)
- フォルダ(エクスプローラー)を開く
- 「表示」メニューをクリック
- Windows 11の場合は、さらに「表示」をクリック
- 「ファイル名拡張子」にチェックを入れる
これで、ファイルの拡張子が表示されるようになります。
4. VBAでの拡張子の影響
・拡張子が表示されている場合 → VBAでもフルネーム(拡張子付き)で指定が必要
・拡張子が非表示の場合 → 拡張子なしのファイル名だけで動作することがある
ただし、異なる拡張子のファイルをVBAが誤って認識してしまう可能性があるため、正確に動作させるためには、拡張子を意識してコードを書くのが安全 です。
まとめ
拡張子とは、ファイルの種類を識別するための文字列です。
・VBAでファイルを操作するときは、拡張子を明確に指定すると間違いがへる
・拡張子の表示/非表示は、エクスプローラーの設定で切り替え可能
・拡張子が非表示のままだと、VBAで意図しないファイルを扱ってしまうことがあるので注意
VBAでファイルを正しく指定し、想定外の動作を防ぐために、拡張子の意味をしっかり理解しておきましょう!
コメント