<?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/%E4%B8%80%E8%A6%A7/feed/" rel="self" type="application/rss+xml" />
	<link>https://dokugakuexcel.com</link>
	<description>初心者から中級者までシステム・関数・VBAを伝授します</description>
	<lastBuildDate>Sun, 16 Oct 2022 13:57:18 +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】Dir関数で指定フォルダから対象ファイル・ブックが存在するか確認、処理する！一覧も可</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91dir%e9%96%a2%e6%95%b0%e3%81%a7%e6%8c%87%e5%ae%9a%e3%83%95%e3%82%a9%e3%83%ab%e3%83%80%e3%81%8b%e3%82%89%e5%af%be%e8%b1%a1%e3%83%95%e3%82%a1%e3%82%a4/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2580%2591dir%25e9%2596%25a2%25e6%2595%25b0%25e3%2581%25a7%25e6%258c%2587%25e5%25ae%259a%25e3%2583%2595%25e3%2582%25a9%25e3%2583%25ab%25e3%2583%2580%25e3%2581%258b%25e3%2582%2589%25e5%25af%25be%25e8%25b1%25a1%25e3%2583%2595%25e3%2582%25a1%25e3%2582%25a4</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91dir%e9%96%a2%e6%95%b0%e3%81%a7%e6%8c%87%e5%ae%9a%e3%83%95%e3%82%a9%e3%83%ab%e3%83%80%e3%81%8b%e3%82%89%e5%af%be%e8%b1%a1%e3%83%95%e3%82%a1%e3%82%a4/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 07 Sep 2022 13:05:11 +0000</pubDate>
				<category><![CDATA[ブック操作]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[マクロ]]></category>
		<category><![CDATA[Dir]]></category>
		<category><![CDATA[ファイル名]]></category>
		<category><![CDATA[一覧]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=3430</guid>

					<description><![CDATA[指定したフォルダにどのようなファイルが存在するか、対象のファイル・ブックが存在するか確認するためには「Dir関数」の知識が必要です。 指定フォルダにファイルが随時入ってきて、処理を繰り返す動作などにはよく使用されます。  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>指定した<strong><span class="marker-under">フォルダにどのようなファイルが存在するか、対象のファイル・ブックが存在する</span></strong>か<br>確認するためには<strong><span class="marker-under">「Dir関数」</span></strong>の知識が必要です。</p>



<p>指定フォルダにファイルが随時入ってきて、処理を繰り返す動作などにはよく使用されます。</p>



<p>さらに「ワイルドカード」との相性もよく、指定した文字を含むファイルのみ確認したいときや<br>Excelのファイル・PDFファイルなどファイル形式毎にも対応する方法を紹介していますので<br>是非参考にしてみてください。</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><li><a href="#toc8" tabindex="0">・指定文字を含むファイルのみ確認する</a></li></ol></li><li><a href="#toc9" tabindex="0">&#x2b1b;︎読み取り専用などファイルの属性を絞って確認する。</a></li><li><a href="#toc10" tabindex="0">&#x2b1b;︎補足の知識</a></li><li><a href="#toc11" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc12" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

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



<p><strong><span class="bold-red">赤文字</span></strong>の見本を打ち換えて使用してください。</p>



<p>見本ではメッセージボックスですが、処理したい方法に合わせてカスタムして使用してください。</p>



<pre class="wp-block-verse">Sub Dir確認()
Dim Filename As String
Filename = Dir("<strong><span class="bold-red">C:\検証ファイル\ブックA</span></strong>.xlsx")
If Filename = "" Then
MsgBox "対象シートはありません"
Else
MsgBox "対象シートは存在します"
End If
End Sub</pre>



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



<p>・指定フォルダから対象のファイルが存在するか確認することができる<br>・指定フォルダから指定した文字・数値を含むファイルのみを確認することができる<br>・指定フォルダから対象の拡張子のファイルを確認することができる</p>



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



<p>「ファイルのパス」の部分に対象のファイルのパスを貼り付けると<br>変数Filenameに順次対象ファイル内のファイル名が格納されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub Dir全ファイル確認()</p><p>Dim Filename As String, WriteRow As Long</p><p>Filename = Dir(&#8220;ファイルのパス*.*&#8221;)</p><p>Do While Filename &lt;&gt; &#8220;&#8221;</p><p>Filename = Dir</p><p>Loop</p><p>End Sub</p></blockquote>



<h2 class="wp-block-heading"><span id="toc4">&#x2b1b;︎関数の仕組み</span></h2>



<pre class="wp-block-verse"><strong>出力先＝Dir(<span class="bold-red">pathname</span>, [ <span class="bold-blue">attributes</span> ] )</strong></pre>



<p><span class="bold-red">pathname</span>…省略可。フォルダ名やファイル名を入力<br><strong><span class="bold-blue">attributes</span></strong> …省略可。ファイルの属性を入力</p>



<p>attributesの入力項目については下記表をご参照ください。</p>



<figure class="wp-block-table"><table><thead><tr><th><strong>定数</strong></th><th>値</th><th><strong>説明</strong></th></tr></thead><tbody><tr><td><strong>vbNormal</strong></td><td>0</td><td>(既定値) 属性のないファイル。</td></tr><tr><td><strong>vbReadOnly</strong></td><td>1</td><td>属性のないファイルと読み取り専用のファイル。</td></tr><tr><td><strong>vbHidden</strong></td><td>2</td><td>属性のないファイルと隠しファイル。</td></tr><tr><td><strong>vbSystem</strong></td><td>4</td><td>属性のないファイルとシステム ファイル。 Macintosh では使用できません。</td></tr><tr><td><strong>vbVolume</strong></td><td>8</td><td>ボリューム ラベル。他の属性を指定した場合は、vbVolume は無視されます。 Macintosh では使用できません。</td></tr><tr><td><strong>vbDirectory</strong></td><td>16</td><td>属性のないファイルとディレクトリまたはフォルダー。</td></tr><tr><td><strong>vbAlias</strong></td><td>64</td><td>指定されたファイル名はエイリアスです。 Macintosh でのみ使用できます。</td></tr></tbody></table><figcaption>引用元：<a href="https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/dir-function">Dir 関数 (Visual Basic for Applications) | Microsoft Docs</a></figcaption></figure>



<p></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>今回は見本で「検証ファイル」という名前のフォルダに「ブックA.xlsx」という</p>



<p>ファイルがあるか確認したいと思います。</p>



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



<p>では構文を見ていきましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><br><strong><span class="bold-green">出力先</span>＝Dir(<span class="bold-red">pathname</span>, [ attributes ] )</strong></p></blockquote>



<p>それでは構文に当てはめてみましょう。<br>出力先を変数の「<span class="bold-green">Filename</span>」としました。<br>「<span class="bold-red">pathname</span>」についてはフォルダとファイル名なので「C:\検証ファイル\ブックA」となります。</p>



<p>当てはめた構文はこちらです。</p>



<p><strong><span class="fz-20px"><span class="bold-green">Filename </span>= Dir(&#8220;<span class="bold-red">C:\検証ファイル\ブックA.xlsx</span>&#8220;)</span></strong></p>



<p>「.xlsx」といった拡張子も入力するようにしてください。</p>



<p>では実際にプログラムを入力してみましょう。<br>プログラムはこちらです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub Dir確認()</p><p>Dim Filename As String</p><p>Filename = Dir(&#8220;C:\検証ファイル\ブックA.xlsx&#8221;)</p><p>End Sub</p></blockquote>



<p>では確認してみましょう。<br>Dir関数でファイルの有無を確認していますが、ファイルがあった場合は<br>ファイル名を出力します。反対にファイルがなければ空白を出力します。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="830" height="279" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-30.png" alt="" class="wp-image-3432" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-30.png 830w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-30-300x101.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-30-768x258.png 768w" sizes="(max-width: 830px) 100vw, 830px" /></figure>



<p>そしてIFでファイル名を出力した変数「Filename」が<strong><span class="marker-under-red">空白だった場合は<br>「対象シートはありません」</span></strong>のメッセージを表示し、<strong><span class="marker-under-blue">空白でなければ<br>「対象シートは存在します」</span></strong>のメッセージを表示させます。</p>



<p>プログラムはこのようになります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub Dir確認()</p><p>Dim Filename As String</p><p>Filename = Dir(&#8220;C:\検証ファイル\ブックA.xlsx&#8221;)</p><p>If Filename = &#8220;&#8221; Then<br>MsgBox &#8220;対象シートはありません&#8221;<br>Else<br>MsgBox &#8220;対象シートは存在します&#8221;<br>End If</p><p>End Sub</p></blockquote>



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



<figure class="wp-block-image size-full"><img decoding="async" width="283" height="279" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-31.png" alt="" class="wp-image-3433" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-31.png 283w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-31-100x100.png 100w" sizes="(max-width: 283px) 100vw, 283px" /></figure>



<p>変数「Filename」に対象のファイル名が格納され、「対象シートは存在します」のメッセージが出ました。</p>



<p>では「C:\検証ファイル」に存在しない「ブックD」があるか確認するパターンも見てみましょう。</p>



<p>実行した結果はこちらです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="682" height="369" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-32.png" alt="" class="wp-image-3434" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-32.png 682w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-32-300x162.png 300w" sizes="(max-width: 682px) 100vw, 682px" /></figure>



<p>変数「Filename」は空白のままなので、「対象シートはありません」のメッセージが出ました。</p>



<h3 class="wp-block-heading"><span id="toc7">・対象フォルダにあるファイルを順に確認する</span></h3>



<p>さきほどは対象フォルダに指定したファイルがあるか確認しました。<br>今度はファイルを固定せずに対象フォルダ内の全てのファイルを<br>確認してみたいとおもいます。</p>



<p>では、見本のプログラムから見てみましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub Dir全ファイル確認()</p><p>Dim Filename As String, WriteRow As Long</p><p>Filename = Dir(&#8220;C:\検証ファイル*.xlsx&#8221;)<br>WriteRow = 1</p><p></p><p>Do While Filename &lt;&gt; &#8220;&#8221;</p><p>Cells(WriteRow, 1) = Filename<br>WriteRow = WriteRow + 1<br>Filename = Dir</p><p>Loop</p><p></p><p>End Sub</p></blockquote>



<p>　</p>



<p><strong><span class="marker-under-red">「Do While Filename &lt;&gt; &#8220;&#8221;」から「Loop」で<br>ファイル名が格納される変数「Filename」が空白になるまで<br>繰り返し処理</span></strong>を行います。</p>



<p><a href="https://dokugakuexcel.com/%e3%80%90vba%e7%9f%a5%e8%ad%98-8%e3%80%91doloop%e3%81%a7%e6%9d%a1%e4%bb%b6%e3%81%be%e3%81%a7%e7%b9%b0%e3%82%8a%e8%bf%94%e3%81%97%e3%83%bb%e3%83%ab%e3%83%bc%e3%83%97%e5%8b%95%e4%bd%9c%e3%82%92/">【マクロVBA】Do…Loopで指定条件まで繰り返し・ループする!WhileとUntilの違いとは ► 独学エクセル塾 (dokugakuexcel.com)</a></p>



<p>ポイントは<strong><span class="marker-under">「Filename＝Dir」</span></strong>についてです。<br>ループ前に「C:\検証ファイル」で対象フォルダのファイル名を抜き出していますが、<br>再度、「Filename＝Dir」でファイル名を出力していますよね。</p>



<p>一度、Dirで読み取った場合、次に読み込むフォルダ引数なしの</p>



<p><strong><span class="marker-under">「Dir」単体では出力していないファイルを順次出力</span></strong>していきます。<br>つまり、対象フォルダにあるファイルを順次確認できるといったプログラムになります。</p>



<p>　<br>ファイル名が「*.xlsx」となっていますがこちらは後ほど紹介します。</p>



<p>では実行していきましょう。<br>A1セルから読み取ったファイルを順次書き込んでいきます。</p>



<p>実行した結果はこちらです。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-33.png" alt="" class="wp-image-3435" width="632" height="262" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-33.png 692w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-33-300x124.png 300w" sizes="(max-width: 632px) 100vw, 632px" /></figure>



<p>A列に指定フォルダ「C:\検証ファイル」の中にある「.xlsx」ファイルを書き出しすることができました。</p>



<h3 class="wp-block-heading"><span id="toc8">・指定文字を含むファイルのみ確認する</span></h3>



<p>先程の応用になります。<br>前回は対象フォルダ内の全ファイルを確認しましたが<br>今回は<strong><span class="marker-under">指定文字を含むファイルのみ確認</span></strong>したいと思います。</p>



<p>使用するのは<strong><span class="marker-under">「&#x2733;︎（ワイルドカード）」</span></strong>になります。<br>先ほどもファイル名を「*.xlsx」として使用していました。</p>



<p>機能として、<strong><span class="marker-under-red">ワイルドカードを入力すると全ての文字数値を対象</span></strong>としてくれます。</p>



<p>　<br>例えば「<strong><span class="bold-red">A</span></strong>」を含むファイルを確認したい場合は「&#x2733;︎<strong><span class="bold-red">A</span></strong>&#x2733;︎」となります。<br>さらに「<strong>頭文字を<span class="bold-red">B</span>とし、それ以降の文字・数値は全て対象</strong>」<br>という場合には「<strong><span class="bold-red">B</span></strong>&#x2733;︎」となります。</p>



<p>こちらを応用して先程のプログラムに書き込んでみたいと思います。</p>



<p>今回は「<span class="bold-red">ブック</span>」という文字を含むファイルを確認しましょう。<br>プログラムはこのようになります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub Dir全ファイル確認()</p><p>Dim Filename As String, WriteRow As Long</p><p>Filename = Dir(&#8220;C:\検証ファイル*<span class="bold-red">ブック</span>*&#8221;)<br>WriteRow = 1</p><p>Do While Filename &lt;&gt; &#8220;&#8221;</p><p>Cells(WriteRow, 1) = Filename<br>WriteRow = WriteRow + 1<br>Filename = Dir</p><p>Loop</p><p>End Sub</p></blockquote>



<p>実行した結果はこちら。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-35.png" alt="" class="wp-image-3437" width="273" height="174"/></figure>



<p>「ブック」という文字を含むファイルを確認できましたね。</p>



<p>先程はブック名でしたが<strong><span class="marker-under-blue">拡張子でも絞り込みが可能</span></strong>です。<br>条件を「&#x2733;︎<span class="bold-red">.pdf</span>」としてみましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub Dir全ファイル確認()</p><p>Dim Filename As String, WriteRow As Long</p><p>Filename = Dir(&#8220;C:\検証ファイル*.<span class="bold-red">pdf</span>&#8220;)<br>WriteRow = 1</p><p>Do While Filename &lt;&gt; &#8220;&#8221;</p><p>Cells(WriteRow, 1) = Filename<br>WriteRow = WriteRow + 1<br>Filename = Dir</p><p>Loop</p><p>End Sub</p></blockquote>



<p>実行した結果はこちらです。</p>



<p><strong><span class="marker-under">「PDF」のファイルを確認することができました。</span></strong></p>



<h2 class="wp-block-heading"><span id="toc9">&#x2b1b;︎読み取り専用などファイルの属性を絞って確認する。</span></h2>



<p>ファイルの属性には読み取り専用ファイルや隠しファイル<br>など存在します。</p>



<p>その<strong><span class="marker-under">属性を絞ってもファイルを確認することができます。</span></strong><br>では再度、構文をみてみましょう。</p>



<p><strong><span class="bold-green">出力先</span>＝Dir(<span class="bold-red">pathname</span>, [ <span class="bold-blue">attributes</span> ] )</strong></p>



<p>今回は「<span class="bold-blue">attributes</span>」の部分が該当します。<br>では下の表をご覧ください。</p>



<p></p>



<figure class="wp-block-table"><table><thead><tr><th><strong><span class="bold-blue">定数</span></strong></th><th>値</th><th><strong>説明</strong></th></tr></thead><tbody><tr><td><strong>vbNormal</strong></td><td>0</td><td>(既定値) 属性のないファイル。</td></tr><tr><td><strong>vbReadOnly</strong></td><td>1</td><td>属性のないファイルと読み取り専用のファイル。</td></tr><tr><td><strong>vbHidden</strong></td><td>2</td><td>属性のないファイルと隠しファイル。</td></tr><tr><td><strong>vbSystem</strong></td><td>4</td><td>属性のないファイルとシステム ファイル。 Macintosh では使用できません。</td></tr><tr><td><strong>vbVolume</strong></td><td>8</td><td>ボリューム ラベル。他の属性を指定した場合は、vbVolume は無視されます。 Macintosh では使用できません。</td></tr><tr><td><strong>vbDirectory</strong></td><td>16</td><td>属性のないファイルとディレクトリまたはフォルダー。</td></tr><tr><td><strong>vbAlias</strong></td><td>64</td><td>指定されたファイル名はエイリアスです。 Macintosh でのみ使用できます。</td></tr></tbody></table><figcaption>引用元：<a href="https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/dir-function">Dir 関数 (Visual Basic for Applications) | Microsoft Docs</a></figcaption></figure>



<p></p>



<p><strong><span class="marker-under">入力する値としては「0,1,2,4,8,16,64」</span></strong>を入力し、<br>その番号に応じて属性を絞ってファイル確認をします。</p>



<p><strong><span class="marker-under-red">入力を省略した場合は属性のないファイルが対象</span></strong>となります。</p>



<p>今回は見本で隠しファイルを作成してみたいと思います。<br>対象フォルダは先ほどと同様、「C:\検証ファイル」で「フォルダ」というファイルを含むファイルを書き出してみようと思います。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="301" height="284" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-37.png" alt="" class="wp-image-3439"/></figure>



<p>例として<strong><span class="marker-under-blue">「ファイルB」というファイルは隠しファイルとしたいと思います</span></strong>。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-39.png" alt="" class="wp-image-3441" width="473" height="450" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-39.png 650w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-39-300x285.png 300w" sizes="(max-width: 473px) 100vw, 473px" /></figure>



<p>これで「ファイルB」が隠しファイルとなりました。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-40.png" alt="" class="wp-image-3442" width="428" height="240" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-40.png 594w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-40-300x168.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-40-120x68.png 120w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-40-160x90.png 160w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-40-320x180.png 320w" sizes="(max-width: 428px) 100vw, 428px" /></figure>



<p>ではプログラムです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub Dir全ファイル確認()</p><p>Dim Filename As String, WriteRow As Long</p><p>Filename = Dir(&#8220;C:\検証ファイル*.*&#8221;, <span class="bold-blue">0</span>)<br>WriteRow = 1</p><p></p><p>Do While Filename &lt;&gt; &#8220;&#8221;</p><p>Cells(WriteRow, 1) = Filename<br>WriteRow = WriteRow + 1<br>Filename = Dir</p><p>Loop</p><p></p><p>End Sub</p></blockquote>



<p>「<span class="bold-blue">attributes</span>」を<span class="bold-blue">0</span>の<strong><span class="marker-under-blue">属性のないファイル</span></strong>で実行してみましょう。<br>「ファイルB」は隠しファイルなので含まれず、残りのすべてのファイルが出力されました。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-41.png" alt="" class="wp-image-3443" width="293" height="249" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-41.png 406w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-41-300x255.png 300w" sizes="(max-width: 293px) 100vw, 293px" /></figure>



<p>では「<span class="bold-blue">attributes</span>」を「<span class="bold-blue">2</span>」にして隠しファイルも確認するようにしましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Sub Dir全ファイル確認()</p><p>Dim Filename As String, WriteRow As Long</p><p>Filename = Dir(&#8220;C:\検証ファイル*.*&#8221;, <span class="bold-blue">2</span>)<br>WriteRow = 1</p><p>Do While Filename &lt;&gt; &#8220;&#8221;</p><p>Cells(WriteRow, 1) = Filename<br>WriteRow = WriteRow + 1<br>Filename = Dir</p><p>Loop</p><p>End Sub</p></blockquote>



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



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-42.png" alt="" class="wp-image-3444" width="252" height="276" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-42.png 350w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-42-274x300.png 274w" sizes="(max-width: 252px) 100vw, 252px" /></figure>



<p>今度は「ファイルB」も出力してくれました。</p>



<p>これで属性の絞り込みもできますね。</p>



<h2 class="wp-block-heading"><span id="toc10">&#x2b1b;︎補足の知識</span></h2>



<p>「出力先＝Dir」で対象フォルダ内のファイルを<br>順次確認しましたが、<strong><span class="marker-under">日付順やファイル名順に抜き出し<br>たい方はファイルシステムの確認が必要</span></strong>です。</p>



<p>確認方法としてPCの画面の<strong><span class="marker-under-red">「ローカルディスクC」</span></strong>を右クリックして<br><strong><span class="marker-under-red">「プロパティ」</span></strong>を選択します。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="417" height="537" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-43.png" alt="" class="wp-image-3445" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-43.png 417w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-43-233x300.png 233w" sizes="(max-width: 417px) 100vw, 417px" /></figure>



<p>項目の１つに<strong><span class="marker-under-red">「ファイル　システム」</span></strong>があるので確認してみましょう。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="526" height="413" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-44.png" alt="" class="wp-image-3446" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-44.png 526w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-44-300x236.png 300w" sizes="(max-width: 526px) 100vw, 526px" /></figure>



<p>いずれにしてもPCの設定で変わってしまうので<br>順を指定して処理したい場合は一度、変数やセルに格納して並び替えた後、<br>その順に処理するのが望ましいと思います。</p>



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



<p><br>わかりやすいように説明したため公式と使用する語句が異なりますが<br>マイクロソフト公式の説明については下記のリンクを参照してください。☟<br><a href="https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/dir-function">Dir 関数 (Visual Basic for Applications) | Microsoft Docs</a></p>



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



<p>いかがだったでしょうか。<br>Dirを身につけると、指定フォルダに該当するファイルの<br>処理が可能になります。</p>



<p>是非、参考にしてみてください。<br>それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91dir%e9%96%a2%e6%95%b0%e3%81%a7%e6%8c%87%e5%ae%9a%e3%83%95%e3%82%a9%e3%83%ab%e3%83%80%e3%81%8b%e3%82%89%e5%af%be%e8%b1%a1%e3%83%95%e3%82%a1%e3%82%a4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3430</post-id>	</item>
	</channel>
</rss>
