• ベストアンサー

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

エクセルのマクロでワークブックの保存しないでの閉じ方を教えてください。 閉じるファイルのファイル名を変数で指定したいのですが、どのようにすればよいのでしょうか。 教えてください。よろしくお願いいたします。 このように書いてみたのですが、うまくいきません。 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/17069)
回答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