• ベストアンサー

エクセルのマクロでワークブックの保存しないでの閉じ方を教えてください。

エクセルのマクロでワークブックの保存しないでの閉じ方を教えてください。 閉じるファイルのファイル名を変数で指定したいのですが、どのようにすればよいのでしょうか。 教えてください。よろしくお願いいたします。 このように書いてみたのですが、うまくいきません。 AAA=ファイル名 Workbook(AAA).Close

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

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.3

>閉じるファイルのファイル名を変数で指定したいのですが、どのようにすればよいのでしょうか。 につきましては、 http://okwave.jp/qa5445099.html の方をご覧ください。 >ワークブックの保存しないでの閉じ方 につきましては、VBE プロジェクト エクスプローラ から当該ブックの ThisWorkbook をダブルクリックし、(General) と書かれた窓から「Workbook」を、(Declarations) と書かれた窓から「BeforeClose」を選択してください。  この時点で、現われるコードの間に close と書いて、[F1] キーを押下してください。  [Close メソッド] のヘルプが現われ、[使用例] の最初に、 >次の使用例は、Book1.xls のブックを閉じます。内容の変更は保存しません。 と書かれていますが、これを利用します。  ということで、 Private Sub Workbook_BeforeClose(Cancel As Boolean)  ThisWorkbook.Close SaveChanges:=False End Sub となりますが、ここで一端保存してください。  後は、このブックに変更を加えても、ファイルを閉じようとしたときに、保存せずに消えてしまいます。

yurarin99
質問者

お礼

ご回答ありがとうございました。 全く思ってもみなかった方法なので、試してみます。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

Googleで「保存しないで閉じる vba」で照会すれば沢山記事が出る。 警告がうるさいのでしょうが、それを避けるには ActiveWorkbook.Close SaveChanges:=False ーー ブック名が変数でもそれをWorkbooks指定の()内に入れて旨く行きませんか。 Sub test06() b = "2.xls" Workbooks(b).Close SaveChanges:=False End Sub はうまく行くようだが Activebookとか使えませんか。 ーーー エクセルのブックを開くのに2つの状態があるが、新しいウインドウで開く、でないとして。

yurarin99
質問者

お礼

ご回答ありがとうございました。 ファイル名の指定の仕方が悪かったのか、うまくいきませんでした。 もう少し考えてみます。

noname#99913
noname#99913
回答No.2

No.1です。次の方法でどうでしょうか。 Workbooks(AAA).Close SaveChanges:=False

yurarin99
質問者

お礼

ご回答ありがとうございました。

noname#99913
noname#99913
回答No.1

次の方法を試してください。 Workbooks("BOOK1.XLS").Close SaveChanges:=False

yurarin99
質問者

お礼

早速の回答ありがとうございます。 確かにこの方法でもファイルを閉じることはできるのですが、ファイル名が変数の場合にはどうすればよいのでしょうか?変数の場合どうしたらよいか知りたいのですが、どのように書いたらよいでしょうか? 教えてください。

関連するQ&A

  • エクセルマクロをどのワークブックでも使いたい。

    マクロを作成し、既に保存したのですが、作成した時開いていたワークブックを開かないと使用できません。どのワークブックからでも使えるようにするにはどうしたらよいのでしょうか?

  • VBA SAVEするワークブックを切替たい

    VBA初心者です SAVEするワークブックを切替えたいのですが、どうすれば可能でしょうか? 例えば (1)マクロのワークブック (2)A(標準フォーマットファイル) (3)B(データファイル) とした場合、(3)を(2)に貼り付けて、(2)を別名で保存(ダイアログで)したいのですが、(1)が別名 で保存されてしまいます (2)のファイル名で貼り付けは完了しています ダイアログ無しでのファイル名指定であれば SAVEできます ダイアログでのSAVEを、(1)から(2)に切替えられれば良いのですが OS:Windows8PRO Excel2010

  • EXCELマクロ 保存禁止させるには?

    EXCELのファイルを閲覧のみにしたいので、 [上書き保存]、[名前をつけて保存]等を禁止にするため、 以下のようにマクロを作成しようとしました。 EXCELマクロ、Workbook_BeforeSaveで、Cancel=Trueのコードを追加。 しかし、このマクロを入れるとこのブック自体が保存できないんです。 どうすればよいでしょう?

  • EXCELのマクロで保存するときのメッセージ

    CSVファイルを上書き更新後、ファイルを閉じる作業をしたいのですが、EXCEL2000のマクロでその作業を行うと、次のメッセージがでて、次の手作業の要求がきます。 (1)ファイルの上書きするとき  この場所にAAAというファイルが既にあります。置き換えますか・・・はいのクリック (2)ファイルを閉じるとき  AAAへのファイルの変更を保存しますか・・・いいえをクリック この(1)(2)の作業も、マクロに書きたいのですが、どうすればよいのでしょうか 現在のマクロは ActiveWorkbook.SaveAs Filename:= _ "C:\AAA.csv" _ , FileFormat:=xlCSV, CreateBackup:=False ActiveWindow.Close よろしくお願いします

  • ワークブックに名前をつけて保存するマクロ

    教えてください!! ワークブックで名前をつけて保存するときのマクロなんですが、 自動記録すると下記のように記述されています。 ActiveWorkbook.SaveAs Filename:="C:\○○○\○○○\□□□□□.xls" この□□□□□の部分はインプットボックスを表示させたいのですが、 こういうマクロを組むことはできますか?

  • 複数のワークブックから特定の単語を探すマクロを作る

    複数のワークブックから特定の単語を探すマクロを作りたいです。 複数のファイルの最下部にあるファイルから”ネコ”という単語が入力されているワークブックを探し、そのファイル名を表示するマクロを作りたいです。 添付画像で例えるなら 生物>9月>哺乳類>哺乳類.xlsxと生物>9月>魚類>魚類.xlsxから”ネコ”という単語が入力されているワークブックを探すマクロです。 10月になったら、9月ファイルの下に10月ファイル、翌日には哺乳類ファイルの下に哺乳類0902というファイルができたりするなど、翌月、翌日には新しいファイルが追加される状況なので、 最下部のファイルを指定して探す必要があります。 調べてみましたがわかりません。何卒宜しくお願い致します。

  • エクセルで<名前をつけて保存>するマクロに、保存時マクロを含めて保存させることは可能ですか

    エクセル、マクロとも初心者です。 (VBAはわかりません) エクセルのテンプレートファイルを開いて、必要箇所だけ入力すると、その日の日付をファイル名として、<名前を付けて保存する>ようなマクロを作りました。 このままだと、マクロも一緒に保存されてしまいますよね。 マクロを含まずに、<名前を付けて保存>させるマクロって可能ですか? できるとしたら、どうやればいいでしょうか。

  • エクセルマクロでファイルを保存して閉じるときにファイル名に変数を付加して保存したいです。

    エクセルマクロでファイルを保存して閉じるときにファイル名に変数を付加して保存したいです。 具体的にはファイルが閉じられるときに固定した名称の後ろに日付などを入れた形で保存したいと考えています。 どのように書けばよいのかわからなくて困っています。 教えてください。 宜しくお願いいたします。

  • エクセルのマクロで保存して終了が出来ない

     あるエクセルファイルにて、VBAで Sub 保存して終了() ActiveWorkbook.Save ActiveWorkbook.close End Sub  というマクロを作成したのですが、1回目は正常に動いたのですが次からは、そのマクロを動かしても画面が一瞬点滅するだけで、上書き保存も終了もしません。  それで、ファイルを別の名前をつけて保存してその、別の名前で保存したファイルで、また上のマクロを動かすと1回目は正常に動くのですが、やはり次に開くと動かなくなります。  因みに他のマクロは正常に動作し、この保存して終了させるマクロだけが変なのです。  マクロの書き方を変えて以下のようにしてもだめでした。 Workbooks("ナントカ.xls").Close savechanges:=True  やはり、何回書き方を変えても保存して終了させることだけが出来ません。普通にマクロを使用せず手動ですることは出来るのですが…。  分かりにくい説明ですみませんが、よろしくお願いします。

  • エクセルのシート1枚だけ保存するマクロ

    いつもお世話になります。 エクセルのシート1枚だけを別ファイルに保存したいのです。 過去ログを見て、そのサブをモジュールに貼り付けて試しているのですが、うまく行きません。 アドバイスをお願いします。 状況は以下の通りです。 シート1に帳票のフォーマットを作成してあります。 シート2にデータが並んでいます。 シート2のデータを順番にシート1に表示して印刷するマクロは作成しました。ただセルの値をコピーするだけなので単純です。 そのシート1だけを保存したいのです。 Sheet1.SaveAs (ファイル名) だとブック全体が保存されてしまいます。 ワークブックの保存になっていてもいいのですが、内容はシート1だけを保存したいのです。 シート1にはイメージコントロールが3個あり、画像も入れ替わりますが、式は入っていません。 ファイル名は帳票の個別名称を使用しますので重複はしません。 シート名にしなければならない場合でも処置できます。 皆様の助言をお願いいたします。 エクセル2003を使用しています。

専門家に質問してみよう