Home » ワードマクロ・Word VBAの使い方 » Documentオブジェクト » 開いているファイル・文書をすべて閉じるWordマクロ

開いているファイル・文書をすべて閉じるWordマクロ

対象:Word2007, Word2010, Word2013

開いているファイル・文書をすべて閉じるWordマクロ

「word2010 開いているファイルを閉じるマクロ」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

開いているファイル・文書を閉じるWordマクロ・VBA(Visual Basic for Applications)のコードを探している方による検索です。

「word2010 開いているファイルを閉じるマクロ」
という検索キーワードだけでは、何を探していらしたのか詳細がわかりませんが、ここでは、開いている全文書・全Wordファイルを一気に閉じる、2つのWordマクロをご紹介します。

ループを回して開いている文書をすべて閉じるサンプルマクロ

一つ目はプログラミング経験のある方が思いつきやすいマクロです。

Sub 開いている文書をすべて閉じる()
 Dim doc As Document
 For Each doc In Documents
  doc.Close
 Next
End Sub

開いている全文書に対してループを回して、
 For Each doc In Documents

順番に閉じていきます。
  doc.Close

上記のマクロを実行すると、保存していない文書の場合には、保存するかどうかを確認するメッセージボックスが表示されます。

保存するかどうかは引数で指定しておくことも可能です。DocumentオブジェクトのCloseメソッドには、SaveChangesという名前の引数が用意されていて、

開いているファイル・文書をすべて閉じるWordマクロ

WdSaveOptions列挙に定義されている定数を指定することができます。

開いているファイル・文書をすべて閉じるWordマクロ

定数・wdDoNotSaveChangesを指定すれば保存しないで閉じるようになり、定数・wdSaveChangesを指定すれば自動的に保存を行おうとします。

ループを回さないで開いている文書をすべて閉じるサンプルマクロ

もう一つのマクロは、プログラミング経験のある方よりも、Wordの機能を熟知している方のほうが思いつく可能性の高いものです。

ループを回さないで一気にWordファイルを閉じるマクロです。

Sub 開いている文書をすべて閉じる_ループなし()
 Documents.Close
End Sub

個々の文書を表すDocumentオブジェクトだけではなく、開いているすべての文書を表すDocumentsコレクションオブジェクトにも、Closeメソッドが用意されているのです。

開いているファイル・文書をすべて閉じるWordマクロ

このDocuments.Closeメソッドを実行すれば、すべての文書を閉じることができます。

Documents.Closeメソッドにも、先にご紹介したDocumentオブジェクトのCloseメソッドと同じく、引数・SaveChangesに、WdSaveOptions列挙に定義された定数を指定できます。

Wordに一括処理する処理するコマンドが存在する場合、VBA側からもループ処理しないで一気に処理できる可能性が高いことを、このサイト・インストラクターのネタ帳では何度か言及しています。このDocuments.Closeメソッドもその仲間です。(Wordには[すべて閉じる]というコマンドが昔から存在しています。)

最終更新日時:2022-08-05 03:24

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Documentオブジェクト » 開いているファイル・文書をすべて閉じるWordマクロ

「Documentオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.