アフィリエイト広告を利用しています
検索
カテゴリーアーカイブ
タグクラウド
最新記事

2018年09月03日

【Excel VBA】.xlsm→.xlsx保存でエラー

問題

.xlsmを.xlsxで保存しようとしたらエラーが出た。
wb.SaveAs Filename:=FileName, FileFormat:=xlWorkbookNormal

実行時エラー '1004':
'SaveAs' メソッドは失敗しました: '_Worksheet' オブジェクト


え?なんで??
びっくりしすぎて、エラーのスクショ撮るの忘れたw


MS技術情報

[XL2002] エラー メッセージ : 'SaveAs' メソッドは失敗しました

【発生条件】
VBA マクロを使用してワークシートを保存している。
かつ
ファイル形式に、定数 xlWorkbookNormal を指定している。

【回避策】
ファイル形式の指定を定数 xlWorkbookNormal から 1 に変更します。

【へなちょこメモ】
技術情報は2002だけど、2016でも発生
workbookを保存でも発生


やってみた@

とりあえず、MSの言う通りにやってみる。
wb.SaveAs Filename:=FileName, FileFormat:=1

これで実行したら、確かに実行時エラーは出なくなった。
が。

保存したファイルを開きなおすと・・・
 0038.png

ちょw
MSさーーん!
ちゃんとテストしてよー!!

つか、XlFileFormat 列挙には、1っていう値は載ってないようだが・・・。
1って何だ?
xlWorkbookNormalは、-4143でしょ?


やってみたA

XlFileFormat 列挙に使えそうなものはないか、がさごそ・・・。
あった。

wb.SaveAs Filename:=FileName, FileFormat:=xlWorkbookDefault

これだとエラーも出ず、開きなおしても問題ない。

xlWorkbookDefaultは
Excelのオプション>保存>ブックの保存のファイルの保存形式

かな?と思って、試しに.Excel 97-2003 ブック(*.xls)に設定して、xlWorkbookDefaultで保存してみたけど、.xlsxで保存されてた。
デフォルトって何だろう??
曖昧なものはあんまり使いたくないけど、しゃーない。

MSさん、新機能なんてもういらないから過去のバグ直してけろ。













タグ:Excel VBA
プロフィール
へなちょこさんの画像
へなちょこ
都内に出没するOLっぽい何か。大好物はExcelと効率化。独学でVBAやAccessをいじり始め、早10年。 5歩歩くと忘れてしまうので、ここにメモしていきます。
プロフィール
記事ランキング
  1. 1. 【Excel VBA】ユーザーフォームのCaptionが文字化け
  2. 2. 【Office365 SharePoint】Notesへのリンクを貼りたい
  3. 3. 【Excel VBA】StatusBarが表示されない
  4. 4. 【Excel VBA】入力規則でアプリケーション定義エラー
  5. 5. 【Excel】最大化で起動してくれない件
  6. 6. 【Excel VBA】Workbook_openで「パス名が無効です」
  7. 7. 【Excel VBA】.xlsm→.xlsx保存でエラー
  8. 8. 【Win10】タスクバーのプレビューを非表示にしたい
  9. 9. 【Win10】エクスプローラーがフリーズする
  10. 10. 【Win10】再発!!PC再起動すると、クイック起動バーが消える
ファン