マクロ初心者ですので、よろしくお願いいたします。類似例が無いかと検索しましたが見つからないので質問いたします。
会社のパソコンがエクセル2003から2010に変更されました。しかし、XP環境でエクセル2003しか使えないソフトがあり、そのパソコンも残してあります。2010で作成したマクロブック(xlsm)が、2003でも使えるようファイル名を付けてエクセル2003(xls)で保存できるマクロを作成したのですが、うまくいきません。
2010で保存できた構文に、「m」を削除し、Excel8の構文を付加するのですが、構文「FileFormat:」がハイライトされ、コンパイルエラーと表示され、「名前付き引数がありません」となります。
ActiveWorkbook.SaveCopyAs Filename:=FPATH & "\" & book3 & ".xls", _
FileFormat:=xlExcel8
「ActiveWorkbook.SaveAs」では拡張子が合わないとなりますが、保存はできています。「ActiveWorkbook.SaveCopyAs」で名前付け保存したいのですが、上記のエラーとなります。
よろしくご回答をお願いいたします。
No.1ベストアンサー
- 回答日時:
SaveCopyAsにFileFormatという名前付き引数は無いからです。
メソッドにカーソルを合わせF1キーを押すとヘルプが出ますので、分からないことはまずヘルプを見る癖をつけましょう。
結論としては、SaveAsで保存してくださいということになります。
保存する動作としてはどちらも同じであり、SaveAsの場合は今開いているブックが新しく保存したブックになるという違いだけですから、求める動作に影響はないはずです。
play_with_youさん、早い回答をいただきまして、深謝申し上げます。初歩的な問題で誠に申し訳ありません。
SavecopyAsに拘った理由は、これができたら次のステップとして、LOOPを利用した連続の2003バージョンの多数ブックを作りたいな思っていました。
1案件1ブックが必要で、100~200件/月のデータ処理があることから、元ブックにデータを貼り付けたものを、コピーして保存を繰り返すの考えからです。
SaveAsしか使えないとなると、上記の考え方は無理ですね。違う方法を考えなければなりませんね。それから、SaveAsでxls保存した場合、拡張子が合わないメッセージがでますが問題はないのでしょうか?
初心者にて的はずれな質問かと思いますが、ご教授いただけませんでしょうか?
よろしくお願い申し上げます。
No.2
- 回答日時:
#1です。
>拡張子が合わないメッセージがでますが問題はないのでしょうか?
おっと、すみませんそちらを忘れていました。
「拡張子が合わないメッセージ」とは具体的になんでしょうか?
FilenameでxlsにしてFileformatがxlExcel8(97-2003ブック)なら問題ないはずです。
もしかしたらFPATHやbook3という変数が悪影響を及ぼしているかもしれません。
済みませんでした。私の勘違いでした。拡張子が合わないメッセージは、「xls」としてFilefomat:=xlExcel8を記述しない時と間違えていました。誠に申し訳ありません。
xlsブックをすんなり、開くことができました。
保存が出来たあとに、ActiveWorkbook.Closeで元ブックが開いているので、Loopに移れそうな感じがしてきました。
大変ありがとうございました。Loopにトライしてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/05/23 15:54
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/11 13:29
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/20 14:46
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
フォルダ内の全ブックのシート...
-
すでに開いているブックのマク...
-
VBA、Excelのworkbook.open に...
-
エクセルVBA Workbook変数に変...
-
【ExcelVBA】指定の書式で、マ...
-
エクセルのマクロについて教え...
-
【Excel VBA】ブックを複数開い...
-
[Excel VBA] フォルダ内の複数...
-
フォルダ内の全ブックのシート...
-
EXCEL VBA起動時の処理
-
VB2010でExcelの行をコピーして...
-
VBA セル入力された日付データ...
-
excelマクロ、任意セルの値で名...
-
EXCELマクロでxlsとxlsxを開く方法
-
エクセル アプリケーションの...
-
personal.xlsの削除方法
-
Excelの一括印刷で通し番号をつ...
-
フォルダ内の全てのBookに同じ...
-
いつも大変お世話になっており...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダ内の全ブックのシート...
-
ExcelVBAで今開いているユーザ...
-
エクセルVBA Workbook変数に変...
-
フォルダ内の全ブックのシート...
-
【Excel VBA】ブックを複数開い...
-
【ExcelVBA】指定の書式で、マ...
-
VB2010でExcelの行をコピーして...
-
フォルダ内の全てのBookに同じ...
-
EXCELマクロでxlsとxlsxを開く方法
-
excelマクロ、任意セルの値で名...
-
[Excel VBA] フォルダ内の複数...
-
VBA、Excelのworkbook.open に...
-
すでに開いているブックのマク...
-
EXCELマクロで上書きメッ...
-
VBA セル入力された日付データ...
-
EXCEL VBA起動時の処理
-
エクセルのマクロについて教え...
-
他のBookのユーザー定義関数を使う
-
Excel VBAを後ろで動かす方法
-
Excelの一括印刷で通し番号をつ...
おすすめ情報