SaveAsと保存ファイル名の拡張子との整合性エラーの回避

1 前提

 SaveAsメソッドによる保存でファイル名(ここでは、myFileNameとする)を指定するとき、ファイル名に拡張子まで含めることもできるし、拡張子の付加はSaveAsメソッドに任せることもできる。

2 課題

 しかし、引数FileFormatの内容(FileFormatを省略してを既定にした場合を含む)と、myFileName内につけた拡張子との齟齬があるとエラーが出る。

3 対策

 そこで、必ず引数FileFormatを設定することにして、myFileNameは拡張子なし(BaseNameのみ)とすることにした。拡張子の付加はSaveAsメソッドの引数FileFormatに任せる。

4 注意

 なお、マクロを含まないxlsx形式で保存する場合は、

FileFormat:=xlWorkbookDefault

(参照 https://docs.microsoft.com/ja-jp/office/vba/api/excel.xlfileformat )

とするが、マクロが削除されてしまう旨の警告が出るので、displayAlertsをいったんFalseにする方がよい。