
Wordファイルを開いて内容に変更を加えて閉じるボタンXをクリックして、変更内容を保存しない処置で強制終了したい。
Wordファイルを閉じると「”ファイル名”に対する変更を保存しますか」のメッセージが表示されます。このメッセージを表示せずVBA操作にて変更内容を保存せずWordファイルを閉じたい。
なぜこのようにしたいかといいますと、Wordで操作の練習用ファイルを作成して生徒さんに文字入力や切り取り等の操作を行ってもらった後、再度同じ内容で使用したいため、変更を保存せずファイルを強制的に閉じたい。
No.2ベストアンサー
- 回答日時:
練習用ファイルのみでのVBA処理ですよね。
そうだとしたら、以下のマクロを登録してみて。
VBEditorを開き、プロジェクト名が練習用ファイルとなっている
ThisDocumentのモジュールを開きます。
ここに以下のマクロを登録します。
Private Sub Document_Close()
ThisDocument.Saved = True
End Sub
VBEditorで[ Ctrl+S ]キーなどで上書きします。
本文に戻り、何か追加したり削除したりして変更状態にします。
閉じるボタンを押して、Wordを閉じます。
このマクロが実行されると、変更内容を保存しないで閉じます。
https://msdn.microsoft.com/ja-jp/VBA/word-vba/ar …
No.1さんの回答にあるマクロのような難しいことはしていません。
これでも閉じたときに開いた直後のまま強制終了されます。
次回開いたときには元の状態のままだと思います。
enunokokoroさん・・・回答ありがとうございます。
大変シンプルで、動作内容も私の考えどうりでした。
早速使わさせていただきます。
No.1
- 回答日時:
こんにちは。
VBAの処理ですが、このようにします。
まず、VBEditor 画面から、Class を挿入します。
つぎに、その画面に、
'---------------------------------
Public WithEvents wdApp As Word.Application
Private Sub wdApp_DocumentBeforeClose(ByVal Doc As Document, Cancel As Boolean)
Doc.Saved = True
End Sub
Private Sub wdApp_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
Doc.Saved = True
SaveAsUI = False
End Sub
Private Sub wdApp_Quit()
ThisDocument.Saved = True
End Sub
'//
を貼り付けます。
つぎに、ThisDocuement をクリックして、
Private myClass As Class1
Private Sub Document_Open()
Set myClass = New Class1
Set myClass.wdApp = Word.Application
End Sub
Sub cutOffInstance()
'保存する時は、手動でこのマクロを実行して、マクロ設定をフリーにます。
Set myClass = Nothing
MsgBox "ThisDocument can be saved.", vbInformation
End Sub
'//
なお、オプション-セキュリティセンターの信頼できる場所に、このファイルが置いてあることを条件として、.doc 等、マクロ付きのドキュメントとして保管してください。

早速回答いただき Windfallerさんありがとうございます。
動作確認させていただきました・・・私の思い道理の動作で感激しました。
少し設定内容が難しすぎて今後の勉強の対象とさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Excel(エクセル) Excelから複数のWordファイルを操作する方法について教えて頂きたい。 やりたいことは、複数のW 2 2022/07/26 20:11
- その他(Microsoft Office) WordやExcelについての質問です。先日姉から授業で使うという理由でパソコンを借りました。そして 3 2022/06/20 15:32
- Word(ワード) PCで作ったwordをスマホで編集しようとすると「このファイルは読み取り専用です。」と表示される。 3 2023/05/30 14:51
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- その他(ブラウザ) Excel VBA seleniumのedge操作について 業務上、分からないことがございまして、先 1 2022/06/20 16:59
- その他(Microsoft Office) Excel、Wordのファイル 3 2023/05/07 04:58
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのプロパティーでセキ...
-
ExcelブックをGoogleスプレッド...
-
Excel csv保存 列数が異なる場...
-
Wordで差込印刷した後に別々の...
-
Word2010で閉じるボタン押下後...
-
多数のエクセルファイルからデ...
-
サブフォルダから部分一致のエ...
-
accessで作成したクエリーをエ...
-
大量のCSVファイルをExcel形式...
-
エクセルファイル名に更新日時...
-
ファイルのアクセス回数について
-
Excelのマクロファイルを開くと...
-
エクセルvbaでdocuworksprinter...
-
Windows10でコマンドプロンプト...
-
エクセルで複数のコメントのサ...
-
frxファイルの役目
-
同じファイル名 上書きしないフ...
-
会社のネットワーク上のファイ...
-
VBA 最新のフォルダ取得
-
Excelで指定したフォルダに保存...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのプロパティーでセキ...
-
ファイルのアクセス回数について
-
ExcelブックをGoogleスプレッド...
-
Wordで差込印刷した後に別々の...
-
Excel csv保存 列数が異なる場...
-
マクロ実行後、表示がおかしくなる
-
エクセル UserForm 呼び出しで...
-
エクセルファイル名に更新日時...
-
EXCEL 検索時の設定
-
サブフォルダから部分一致のエ...
-
PowerPoint 2002でファイル名を...
-
【Excel VBA】ファイルを保存し...
-
大量のCSVファイルをExcel形式...
-
複数のexcelのファイルを一括で...
-
実行時エラー52
-
エクセルのマクロで行と列の削...
-
For~Nextルーチンで最初の1回...
-
エクセルでcsvファイルを開いて...
-
VBAでエクセルで作成したフ...
-
Word2010で閉じるボタン押下後...
おすすめ情報