VBAでブックを変更せずに閉じたい方法
- VBAのコードを使用してブックを開き、変更せずに閉じたい場合、Windowsオブジェクトを使用してブックを操作することができます。
- しかし、使用するブックによっては、保存の確認ダイアログが表示されることがあります。
- なぜ同じコードでも実行できる場合とできない場合があるのかについては、ブック自体の設定やセキュリティの設定などが影響している可能性があります。
- ベストアンサー
vba ブックを変更しないで閉じたい
ブックを開き、 Sub Macro2() Application.DisplayAlerts = False 'セルをいじる処理(A1に「あ」を入れるなど) '・・・ Windows("ブック1.xls").Activate ActiveWorkbook.Close SaveChanges:=False End Sub を実行すると変更があっても何も表示されないで閉じるはずですが とあるブックのみ、 「'ブック1'を保存しますか?」 はい いいえ キャンセル が出ます。 同じコードをブックに対して行なっているのに、実行できる場合と出来ない場合があるのでしょうか?
- vgfcdx
- お礼率99% (409/412)
- オフィス系ソフト
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
原因は解りませんが Windows("ブック1.xls").Close SaveChanges:=False では如何でしょうか
関連するQ&A
- EXECLの変更を保存せずにブック強制的に閉じる方法を
困り果てています VISTAとXPでマクロで EXECLの変更を保存せずにブック強制的に閉じる方法を 教えていただきたいのですがテストをしてみたマクロは 下記のようなものですがですがうまく動作しません シートの中にスピンボタンがありセルの中の数字を 変えると変更を保存しますか? となります。 Sub Auto_Close() ThisWorkbook.Saved = True End Sub Sub 例1434() ActiveWorkbook.Saved = True ActiveWorkbook.Close End Sub Sub 13() ThisWorkbook.Close SaveChanges:=False End Sub Sub CloseBook() Application.DisplayAlerts = False ActiveWorkbook.Close Application.DisplayAlerts = True End Sub Sub CloseBook2() ActiveWorkbook.Close savechanges:=False End Sub いずれもだめでした 良い方法をお教えください。
- 締切済み
- オフィス系ソフト
- EXECLの変更を保存せずにブック強制的に閉じる方法を
困り果てています VISTAとXPでマクロで EXECLの変更を保存せずにブック強制的に閉じる方法を 教えていただきたいのですがテストをしてみたマクロは 下記のようなものですがですがうまく動作しません シートの中にスピンボタンがありセルの中の数字を 変えると変更を保存しますか? となります。 Sub Auto_Close() ThisWorkbook.Saved = True End Sub Sub 例1434() ActiveWorkbook.Saved = True ActiveWorkbook.Close End Sub Sub 13() ThisWorkbook.Close SaveChanges:=False End Sub Sub CloseBook() Application.DisplayAlerts = False ActiveWorkbook.Close Application.DisplayAlerts = True End Sub Sub CloseBook2() ActiveWorkbook.Close savechanges:=False End Sub いずれもだめでした 良い方法をお教えください。
- 締切済み
- Windows XP
- (VBA)ブックを閉じるプログラム
表題の通りで、マクロを使ってブックを閉じるプログラムが作りたいです。 具体的には、 "終了"というボタンを作って、このボタンを押したときのみ変更を保存せずに、ブックを閉じる。 右上のXマークを押して閉じようとした場合は、"終了ボタンで終了して下さい"とメッセージを 表示させて、必ず終了ボタンで閉じる。 のようなプログラムです。 ネットで調べ、みよう見まねでプログラムを組んでみましたが、完全にブックが消えません。 また×ボタンを押した場合にブックを閉じない様にするプログラムが分かりません。 <組んでみたプログラム> Sub test2() Application.DisplayAlerts = False Workbooks("Book1.xls").Close Application.DisplayAlerts = True End Sub ご教授お願い致します。
- ベストアンサー
- その他MS Office製品
- Excel VBA ブックが本当に閉じられた時だけ別のブックを閉じたい
Excel VBA ブックが本当に閉じられた時だけ別のブックを閉じたい A.xls B.xls と二つのブックがあります。 A.xlsが閉じられる時、B.xlsも同時に閉じたいです。 A.xlsに以下のマクロを入れました。 Private?Sub?Workbook_BeforeClose(Cancel?As?Boolean) ?Workbooks("B.xls").Close?SaveChanges:=False End?Sub 問題はA.xlsが保存してない場合、「A.xlsへの変更を保存しますか?」というメッセー ジが 出てきますが、そこでキャンセルを押された場合でもB.xlsが閉じられてしまいます。 A.xlsが本当に閉じられた時だけB.xlsを閉じたいのですが そのようなことは可能でしょうか?
- ベストアンサー
- パフォーマンス・チューニング
- エクセル・エラーを出さずに複数ブックをクローズしたい
複数のファイルを閉じたいのですが、 Sub 必要ファイルを閉じる() Workbooks("あ.xls").Close SaveChanges:=False Workbooks("い.xls").Close SaveChanges:=False Workbooks("う.xls").Close SaveChanges:=False Workbooks("え.xls").Close SaveChanges:=False End Sub 開いていないファイルがあるとエラーで止まってしまいます。 この4つのファイルに該当するものがあれば、閉じる というマクロを組みたいです。 アドバイス、宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBAでファイルを保存せずに閉じた後の他ブックの挙動
初めて質問させていただきます。 VBA初心者の為、質問自体に不足があるかもしれませんが、ご協力をお願い致します。 エクセル2000(SP3)で複数のブック(仮にA.xls,B.xlsとします)を起動した状態で、Aをマクロを使って保存せずに終了させたところ、Bの操作が出来なくなります。(セル選択等もできません。Bのsheetを選択するとアプリケーションエラーになってしまいます) 同Windows上に他アプリケーションが起動している場合、それらを一度選択してから再度Excelを選択すると、Bの操作が可能になります。 保存せずに終了させる為のマクロは次のとおりです。 ブックAのThisWorkbook内に記述しています。 Private Sub Workbook_BeforeClose(Cancel As Boolean) If Workbooks.count = 1 Then Application.DisplayAlerts = False Application.Quit Else ThisWorkbook.Close SaveChanges:=False End If End Sub 以上、よろしくお願い致します。
- ベストアンサー
- Visual Basic
- 保存したくない(エクセル2003)
標準モジュールで Sub test() ActiveWorkbook.Close SaveChanges:=False End Sub これを実行する前に、セルに値を入力を入力して コードを実行すると SaveChanges:=False を入れてるのに、「変更を保存しますか?」と聞かれます。 SaveChanges:=False は意味がないのでしょうか? Application.Quit にしても同じく聞かれました。
- ベストアンサー
- オフィス系ソフト
- アプリケーションも閉じたいのですが
ブック(ファイル)だけじゃなくて アプリケーションも閉じたいのですが Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.Close SaveChanges:=True End Sub としたのですが、実際閉じるのはブックだけでアプリケーションは開いたままです。 「ウインドウを閉じる」を押して、ブックだけが閉じるのはわかるのですが 図のようにアプリケーション閉じるボタンを押してもウインドウ(ブック)しか閉じません。 Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.Close SaveChanges:=True Application.Quit End Sub にしても結果は同じです。 しかし、Workbook_BeforeCloseイベントがないファイルなら、 アプリケーション閉じるボタンを押しても全て終了できます。 Workbook_BeforeCloseイベントを使っても アプリケーションも閉じる方法を教えてください。
- ベストアンサー
- オフィス系ソフト
- Excel VBAで別のブックからユーザーフォームの閉じる
Excel VBAで別のブックからユーザーフォームの閉じたいのですが うまくいきません。 教えてください。 Private Sub CommandButton2_Click() Application.Visible = False Unload Workbook.("材料リスクマップ検索Ver2.xls")UserForm3・・・・※ Workbooks.Close userform3:=ThisWorkbook.Path & "あああ.xls" Workbooks("\いいい.xls").Close savechanges:=False UserForm1.Show vbModeless End Sub ※印のところが赤字にかわります。 コマンドボタン2は、いいい.xlsにあり、フォームを閉じたいのはあああ.xlsのUserform3です。 その後、ファイル名いいい.xlsは閉じます。 コードが間違っているかと思いますが、どんな風にすればよいかわかりません。初歩的なこととは思いますがよろしくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- VBAでBOOKを開かずにプロパティ変更
エクセル2013です。 特定のフォルダ内のエクセルのBOOKのプロパティの作成者をすべて変えようと思います。 いろいろ試して、以下のコードでできるようになりました。 しかし、下記のコードではいちいちファイルを開かなくてはなりませんのでサイズが大きかったり、数が多いと結構時間がかかります。 手作業でファイルのプロパティを変えるときは、エクスプローラで右クリックすれば開かなくとも簡単にできます。VBAでもファイルを開かずにプロパティを変更するにはどうすればよいのでしょうか?お教えいただければ幸いです。 Sub TEST20190710() Dim myFdr As String, fnm As String Dim wb As Workbook Dim n As Long Const NEW_AUTHOR As String = "emaxemax" Application.ScreenUpdating = False Application.EnableEvents = False myFdr = "C:\Users\User\Documents\TEST01" fnm = Dir(myFdr & "\*.xls?") Do Until fnm = Empty Set wb = Workbooks.Open(myFdr & "\" & fnm) Application.DisplayAlerts = False wb.BuiltinDocumentProperties("Author").Value = NEW_AUTHOR wb.Close SaveChanges:=True Application.DisplayAlerts = True n = n + 1 fnm = Dir Loop Application.ScreenUpdating = True Application.EnableEvents = True MsgBox n & "件のブックを処理しましました。", vbInformation End Sub
- ベストアンサー
- Excel(エクセル)
お礼
なんだかできました。どうもありがとうございました。