解決済み

えくせる VBA 実行中にマクロ有効形式で保存する

  • 暇なときにでも
  • 質問No.7896899
  • 閲覧数4138
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 91% (1698/1856)

DIM this_book_is AZ ストリングス(綴り解りません)汗;
this_book_is = Application.GetSaveAsFilename(Save_Filename,FileFilter:="Excelマクロ有効ファイル,*.xlsm,すべてのファイル,*.*")
book1.SaveAs Filename:=this_book_is

と、したのですが上手くいきません。
調べると
ファイルなんたらを51から52に変更すれば良いとか…

でも何処に付加したら良いやら…

ご教示をお願い致します。

質問者が選んだベストアンサー

  • 回答No.1

ベストアンサー率 45% (698/1544)

ご提示のコード中の「Save_Filename」は、いわゆる変数です。
コレをString型で宣言してやる必要があります。
加えて、保存する段階でファイル形式を指定してやります。

つまり

Dim this_book_is As String, Save_Filename As String
  this_book_is = Application.GetSaveAsFilename(Save_Filename,FileFilter:="Excelマクロ有効ファイル,*.xlsm,すべてのファイル,*.*")
  book1.SaveAs Filename:=this_book_is, FileFormat:=52

としてやればおそらく上手く保存されるはずです。

「おそらく」と付けた理由は
・このコードの前段で他の作業をしているのであれば、結果が変わる可能性がある
・book1.SaveAsとすると、「book1」を変数名として見られてしまうので、適切ではない
 =>これは、例えば現在のブックを保存するなら「ActiveWorkbook.SaveAs」などにするべき
・2003以前のバージョンだと、xlsm形式を認識しないので、コンパイルエラー発生
などです。

以上、参考に。
お礼コメント
Nouble

お礼率 91% (1698/1856)

book1.SaveAsにFfileFormat:=52をつけたら
解決しました。

何はともあれ、ご教示ありがとうございました。
投稿日時 - 2013-01-19 23:23:14
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ