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にする方がよい。