Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


23849 / 76732 ←次へ | 前へ→

【58239】Re:再帰処理でのファイル検索
発言  kanabun  - 08/10/13(月) 13:55 -

引用なし
パスワード
   ▼ON さん:

>最初のコードで希望の操作かないました。

>そのうち、修正コードを頂いたので
>試してみたのですが、初回は別にしても
>次回以降は
>当初コード
> 532ミリ秒
> 610ミリ秒
>高速化コード
> 985ミリ秒
> 984ミリ秒
>となり、

いやー、申し訳ない。完全にぼくの <早とちり> でした。

> fDATA.dwFileAttributes = fATTR_DIRECTORY

で、DIRECTORY属性だけ与えておけば、フォルダだけ列挙できるかと早合点
してました。
実際は、こうしても、すべてのファイルがヒットしてしまうんですね Orz

Office TANAKA - Excel VBA(Dir関数でサブフォルダを取得する)
h t t p://officetanaka.net/excel/vba/tips/tips95.htm
にもあるように、

Dir関数の 第二引数ファイル属性は

定数     値  内容
vbNormal  0   標準ファイル
vbReadOnly 1   読み取り専用ファイル
vbHidden  2   隠しファイル
vbSystem  4   システムファイル(Macintoshでは使用できません)
vbVolume  8   ボリュームラベル(Macintoshでは使用できません)
vbDirectory 16  フォルダ
vbAlias   64  エイリアスファイル(Macintoshでのみ使用できます)

と、定数「標準ファイル」の値が 0 なので、フォルダだけの検索ができない。
しかし、

FildFirstFileのFILE_ATTRIBUTEは、

Const FILE_ATTRIBUTE_ARCHIVE = &H20
Const FILE_ATTRIBUTE_DIRECTORY = &H10
Const FILE_ATTRIBUTE_HIDDEN = &H2
Const FILE_ATTRIBUTE_NORMAL = &H80
Const FILE_ATTRIBUTE_READONLY = &H1
Const FILE_ATTRIBUTE_SYSTEM = &H4
Const FILE_ATTRIBUTE_TEMPORARY = &H100

とあるように、Normalが &h80 で 0 でないので、
> FILE_ATTRIBUTE_DIRECTORY = &H10
だけを指定すれば、フォルダだけ検索できるかと思いこんでいました。

同じようなAPI関数に、
FindFirstFileEx というのがあるので、ひょっとしたら、これだと
属性でフィルタかけて検索できるのかな? と思ったりしたのですが、
これについての説明が Web にはあまり転がっていないようで、
トライできてません。

どなたか、
「サブフォルダだけの検索」ができるAPIをご存じありませんか?

いずれにしても、「高速版」は 2重に検索してるから、
最初のバージョンよりずっと「低速」です。
ごめんなさい。
2 hits

【58198】再帰処理でのファイル検索 ON 08/10/10(金) 19:56 質問
【58199】Re:再帰処理でのファイル検索 マクロマン 08/10/10(金) 20:37 発言
【58202】Re:再帰処理でのファイル検索 kanabun 08/10/11(土) 11:13 発言
【58203】Re:再帰処理でのファイル検索 kanabun 08/10/11(土) 11:29 発言
【58227】Re:再帰処理でのファイル検索 熊谷隆史 08/10/12(日) 16:24 発言
【58232】Re:再帰処理でのファイル検索 ON 08/10/12(日) 23:19 お礼
【58236】Re:再帰処理でのファイル検索 ON 08/10/13(月) 9:52 質問
【58250】Re:再帰処理でのファイル検索 熊谷隆史 08/10/14(火) 15:43 発言
【58251】Re:再帰処理でのファイル検索 kanabun 08/10/14(火) 17:39 発言
【58252】Re:再帰処理でのファイル検索 neptune 08/10/14(火) 21:41 発言
【58253】Re:再帰処理でのファイル検索 kanabun 08/10/14(火) 22:15 発言
【58255】Re:再帰処理でのファイル検索 neptune 08/10/14(火) 22:48 発言
【58256】Re:再帰処理でのファイル検索 jet 08/10/14(火) 23:41 回答
【58239】Re:再帰処理でのファイル検索 kanabun 08/10/13(月) 13:55 発言
【58243】Re:再帰処理でのファイル検索 neptune 08/10/13(月) 22:25 発言
【58244】Re:再帰処理でのファイル検索 kanabun 08/10/14(火) 1:25 発言
【58261】Re:再帰処理でのファイル検索 ON 08/10/15(水) 13:25 お礼
【58263】Re:再帰処理でのファイル検索 熊谷隆史 08/10/15(水) 13:43 発言
【58271】Re:再帰処理でのファイル検索 ON 08/10/15(水) 19:40 お礼
【58333】Re:再帰処理でのファイル検索 熊谷隆史 08/10/20(月) 10:47 発言
【58871】Re:再帰処理でのファイル検索 ON 08/11/15(土) 0:23 お礼

23849 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free