<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>閉じているか確認  |  独学エクセル塾</title>
	<atom:link href="https://dokugakuexcel.com/tag/%e9%96%89%e3%81%98%e3%81%a6%e3%81%84%e3%82%8b%e3%81%8b%e7%a2%ba%e8%aa%8d/feed/" rel="self" type="application/rss+xml" />
	<link>https://dokugakuexcel.com</link>
	<description>初心者から中級者までシステム・関数・VBAを伝授します</description>
	<lastBuildDate>Sun, 16 Oct 2022 13:06:34 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://dokugakuexcel.com/wp-content/uploads/2021/06/cropped-cropped-image-66-1-32x32.jpg</url>
	<title>閉じているか確認  |  独学エクセル塾</title>
	<link>https://dokugakuexcel.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">194648711</site>	<item>
		<title>【マクロVBA】ブックを閉じているか確認して、閉じていない場合のみ閉じる（Close)方法</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%83%96%e3%83%83%e3%82%af%e3%82%92%e9%96%89%e3%81%98%e3%81%a6%e3%81%84%e3%82%8b%e3%81%8b%e7%a2%ba%e8%aa%8d%e3%81%97%e3%81%a6%e3%80%81%e9%96%89/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2580%2591%25e3%2583%2596%25e3%2583%2583%25e3%2582%25af%25e3%2582%2592%25e9%2596%2589%25e3%2581%2598%25e3%2581%25a6%25e3%2581%2584%25e3%2582%258b%25e3%2581%258b%25e7%25a2%25ba%25e8%25aa%258d%25e3%2581%2597%25e3%2581%25a6%25e3%2580%2581%25e9%2596%2589</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%83%96%e3%83%83%e3%82%af%e3%82%92%e9%96%89%e3%81%98%e3%81%a6%e3%81%84%e3%82%8b%e3%81%8b%e7%a2%ba%e8%aa%8d%e3%81%97%e3%81%a6%e3%80%81%e9%96%89/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Mon, 18 Jul 2022 13:10:08 +0000</pubDate>
				<category><![CDATA[ブック操作]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[BOOK]]></category>
		<category><![CDATA[閉じる]]></category>
		<category><![CDATA[閉じているか確認]]></category>
		<category><![CDATA[close]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=3373</guid>

					<description><![CDATA[ブックを閉じる機能に「Close」という機能があります。例えばブックを経由して入力・出力する際によく用いられる機能です。 しかし複数のファイルを開いて閉じる処理する場合に、既に閉じてあるブックを再度閉じようとするとエラー [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p></p>



<p>ブックを閉じる機能に「Close」という機能があります。<br>例えばブックを経由して入力・出力する際によく用いられる機能です。</p>



<p>しかし複数のファイルを開いて閉じる処理する場合に、既に閉じてあるブックを再度閉じようとすると<br>エラーが生じてしまいます。</p>



<p>そこで今<strong><span class="marker-under">回は指定したブックが閉じてあれば、そのままにして<br>閉じていなければブックを閉じる方法を紹介</span></strong>したいとおもいます。</p>



<p>それでは見ていきましょう。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■忙しい人向けのコピペ用プログラム</a></li><li><a href="#toc2" tabindex="0">&#x2b1b;︎こんなことができるようになる！</a></li><li><a href="#toc3" tabindex="0">■知っておきたい知識</a></li><li><a href="#toc4" tabindex="0">&#x2b1b;︎ブックが閉じてあるか確認する</a></li><li><a href="#toc5" tabindex="0">&#x2b1b;︎結果を元に処理方法を設定する</a><ol><li><a href="#toc6" tabindex="0">・対象のブックが閉じてなければ対象ブックを閉じる</a></li><li><a href="#toc7" tabindex="0">・対象ブックが閉じてあった場合の処理方法を追加</a></li></ol></li><li><a href="#toc8" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc9" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">■忙しい人向けのコピペ用プログラム</span></h2>



<p><span class="bold-red">赤文字</span>の対象ブック名を打ち換えて使用してください。</p>



<pre class="wp-block-verse">Sub ブックAを閉じているか確認()
Dim CloseBook As Workbook, Flag As Boolean
Flag = False
　
For Each CloseBook In Workbooks
If CloseBook.Name = "<span class="bold-red">対象ブック名</span>.xlsx" Then
Flag = True
End If
Next
　
If Flag = True Then
Workbooks("<span class="bold-red">対象ブック名</span>.xlsx").Close
Else
MsgBox "対象ブックは閉じています"
End If
　
End Sub</pre>



<h2 class="wp-block-heading"><span id="toc2">&#x2b1b;︎こんなことができるようになる！</span></h2>



<p>・ブックが閉じてあるか確認して、閉じていなければ閉じることができる<br>・閉じている場合の処理方法を設定できる</p>



<h2 class="wp-block-heading"><span id="toc3">■知っておきたい知識</span></h2>



<p>・ブックを閉じるといったブック操作の基礎的な知識</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e7%9f%a5%e8%ad%98-16%e3%80%91%e3%83%96%e3%83%83%e3%82%af%e3%82%92%e9%96%8b%e3%81%8f%e3%83%bb%e4%bd%9c%e6%88%90%e3%83%bb%e5%90%8d%e5%89%8d%e3%81%ae%e5%a4%89/">【マクロVBA知識 16】ブックを開く・作成・名前の変更・フォルダの移動・保存・閉じる ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p>・「If Then」での条件分岐の処理知識</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-9%e3%80%91if-then%e3%81%a7%e6%9d%a1%e4%bb%b6%e5%88%86%e5%b2%90%e3%83%bb%e5%88%a4%e5%88%a5%e3%82%92%e3%81%99%e3%82%8b%e2%97%8b%e2%97%8b%e3%81%aa%e3%82%89/">【マクロVBA知識 9】If …Thenで条件分岐・判別をする(○○なら△△)処理パターンの複数化 ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<h2 class="wp-block-heading"><span id="toc4">&#x2b1b;︎ブックが閉じてあるか確認する</span></h2>



<p>では実際に<strong><span class="marker-under">ブックが閉じてあるか確認するプログラムを説明</span></strong>したいと思います。<br>まずは下図の見本をご覧ください。</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="724" height="284" src="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-29.png" alt="" class="wp-image-3374" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-29.png 724w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-29-300x118.png 300w" sizes="(max-width: 724px) 100vw, 724px" /></figure>



<p><strong><span class="marker-under-red">「<span class="bold-red">ブックA</span>」</span></strong>というファイルを用意しました。<br>今回はこの「ブックA」が閉じてあるか確認してみようと思います。</p>



<p>使用する機能は<strong><span class="marker-under-blue">「For Each」の繰り返し動作</span></strong>と<strong><span class="marker-under-blue">「true・False」</span></strong>です。<br>ではプログラムを見ていきましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub ブックAを閉じているか確認()</p><p>Dim CloseBook As Workbook, Flag As Boolean</p><p>Flag = False</p><p>　<br>For Each CloseBook In Workbooks</p><p>If CloseBook.Name = &#8220;<strong><span class="bold-red">ブックA.xlsx</span></strong>&#8221; Then<br>Flag = True<br>End If</p><p>Next</p><p>　</p><p>End Sub</p></blockquote>



<p>では解説です。<br><strong><span class="marker-under">「For Each 変数 Workbooks」ですでに開いてあるブックを繰り返し変数に格納</span></strong>します。<br>見本では変数を「CloseBook」としてますが、可能な文字であれば何でも構いません。</p>



<p>例えば「ブックA」「ブックB」「ブックC」を開いていると初めにブックAを変数に格納して<br>nextで「ブックB」と続いていきます。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="240" src="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-30-1024x240.png" alt="" class="wp-image-3375" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-30-1024x240.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-30-300x70.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-30-768x180.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/07/image-30.png 1183w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>そして<strong><span class="marker-under">全てのブックを変数に格納し終えたら繰り返しを終了</span></strong>します。</p>



<p>この繰り返し動作の中にIfで対象のシートの名前か判断をします。<br><strong><span class="marker-under">対象の名前と変数のブック名が等しい場合は変数「Flag」に「true」を格納</span></strong>します。</p>



<p>初めに変数「Flag」には「False」を格納しているので繰り返し変数のブックの中に<br><strong><span class="marker-under">対象のブックがなければ「False」のまま</span></strong>という仕組みです。<br>つまり、<strong><span class="marker-under">既にブックが閉じて有れば変数「Flag」は「False」</span></strong>ということになります。</p>



<p>ではこちらを応用して実際の活用法をご覧ください。</p>



<h2 class="wp-block-heading"><span id="toc5">&#x2b1b;︎結果を元に処理方法を設定する</span></h2>



<h3 class="wp-block-heading"><span id="toc6">・対象のブックが閉じてなければ対象ブックを閉じる</span></h3>



<p>では実際に活用してみましょう。<br>早速プログラムを紹介します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub ブックAを閉じているか確認()</p><p>Dim CloseBook As Workbook, Flag As Boolean</p><p>Flag = False</p><p>　<br>For Each CloseBook In Workbooks</p><p>If CloseBook.Name = &#8220;ブックA.xlsx&#8221; Then<br>Flag = True<br>End If</p><p>Next</p><p>　</p><p>If Flag = True Then<br>Workbooks(&#8220;ブックA.xlsx&#8221;).Close<br>End If</p><p>　</p><p>End Sub</p></blockquote>



<p>では解説に移ります。<br><strong><span class="marker-under">対象のブックが閉じてあれば変数「Flag」が「true」</span></strong>というのは先ほどの説明しました。<br>こちらをさらにIfで条件分岐させます。</p>



<p>見本の<strong><span class="marker-under">プログラムでは変数「True」だと「ブックA」を閉じるようにしています</span></strong>。</p>



<p>これでブックが閉じて有れば何もせずに、閉じてない場合だけ、対象のブックを閉じるプログラムの完成です。</p>



<h3 class="wp-block-heading"><span id="toc7">・対象ブックが閉じてあった場合の処理方法を追加</span></h3>



<p>ここからは補足になりますが、「IF」の「Ease」を使用すればブックが閉じてあった時の<br>処理方法も設定出来ます。</p>



<p>見本で先ほどのプログラムに<strong><span class="marker-under">ブックAが閉じてあった場合には「対象ブックは閉じています」<br>というメッセージボックスを表示するプログラム</span></strong>を作成してみましょう。</p>



<p>結果はこのようになります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub ブックAを閉じているか確認()</p><p>Dim CloseBook As Workbook, Flag As Boolean</p><p>Flag = False</p><p>　<br>For Each CloseBook In Workbooks</p><p>If CloseBook.Name = &#8220;ブックA.xlsx&#8221; Then<br>Flag = True<br>End If</p><p>Next</p><p>　</p><p>If Flag = True Then<br>Workbooks(&#8220;ブックA.xlsx&#8221;).Close<br>Else<br>MsgBox &#8220;対象ブックは閉じています&#8221;<br>End If</p><p>　</p><p>End Sub</p></blockquote>



<p>これで<strong><span class="marker-under">対象ブックが閉じてなければ対象ブックを開き、閉じてあれば「対象ブックは閉じています」というメッセージボックスを表示させることができます</span></strong>。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="287" height="237" src="https://dokugakuexcel.com/wp-content/uploads/2022/07/image-31.png" alt="" class="wp-image-3376"/></figure>



<p>今回はメッセージボックスを表示する内容でしたが、用途に合わせて処理方法を追加してみてください。</p>



<h2 class="wp-block-heading"><span id="toc8">&#x2b1b;︎公式の説明</span></h2>



<p>わかりやすいように説明したため公式と使用する語句が異なりますが<br>マイクロソフト公式の説明については下記のリンクを参照してください。☟</p>



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/api/excel.workbook.close">Workbook.Close メソッド (Excel) | Microsoft Learn</a></p>



<h2 class="wp-block-heading"><span id="toc9">&#x2b1b;︎まとめ</span></h2>



<p>いかがだったでしょうか。<br>内容としては「For Each」の繰り返し動作と「true・False」を活用して<br>対象ブックが閉じてあるか確認する内容でした。</p>



<p>今回はブックでしたが、シートでも同様の仕組みで確認することができます。<br>是非参考にしてみてください。</p>



<p>それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e3%83%96%e3%83%83%e3%82%af%e3%82%92%e9%96%89%e3%81%98%e3%81%a6%e3%81%84%e3%82%8b%e3%81%8b%e7%a2%ba%e8%aa%8d%e3%81%97%e3%81%a6%e3%80%81%e9%96%89/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3373</post-id>	</item>
	</channel>
</rss>
