かぶもーちゃん

かぶもーちゃん

PR

カレンダー

コメント新着

かぶもーちゃん @ Re[1]:vbaで構造体を関数の引数と戻値で使う(10/20) すみませんさっきコメントに気付きました…
柳沢由香里@ Re:vbaで構造体を関数の引数と戻値で使う(10/20) あなたさまのおかげで、データ構造体が理…
individual.investor @ Re:採用しなかったほうはどうなった? (2/26) (02/27) もーちゃん、こんにちは(^^) ぷちお久しぶ…

バックナンバー

2025年11月
2025年10月
2025年09月
2025年08月
2025年07月

カテゴリ

2010年10月19日
XML
カテゴリ: その他
検証作業自体はvbaを走らせるだけなので自動で吐き出される。
集計はイレギュラーを判定するために手動でやっている。
自動でやろうとおもっていたのだが、そのロジックを煮詰めるのが面倒だった。

最近、昔みつけておいたロジックとは別の簡単なのをみつけたので、
つくりなおしてみた。そしたらかなり短くなったので防備として記録しておく。

フォルダー中の特定ファイル名だけをExcelシートに書き出す。

ロジックは単純。シートの特定位置のセルsheet1/c3に対象のパス名文字列と、
抽出するための文字列をsheet1/c5格納しておく。
Excelシートが保存されているパス名文字列(例:d:\folder01\folder02)と

ループ処理でファイル名を順番にセルに書き出す。というものである。


'※下記のプロシージャ内にカーソルを置いて、F5キーを押すと実行される。
Sub ftmp()
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim Ws1 As Worksheet: Set Ws1 = Workbooks(ThisWorkbook.Name).Worksheets("Sheet1")
Dim nPath As String: nPath = Ws1.Range("c3")
Dim nName As String: nName = Ws1.Range("c5")
Dim dir As Variant: Set dir = FSO.GetFolder(nPath)
Dim files As Variant: Set files = dir.files
Dim ii As Integer
Dim file As Variant

ii = 10
Ws1.Range("b10:b31").ClearContents
For Each file In files
If InStr(file.Name, nName) Then
Ws1.Range("b" & ii) = file.Name

End If
Next
End Sub

htmlのインデントのやり方がわからないので、のっぺり表示されてしまった。

wshのCreateObject("Scripting.FileSystemObject")がキモなのかな?
ファイルの扱いがカラ簡単にできる。
検索すると一杯でてくる。どこだか忘れたけど教えてくれたサイトさんに感謝。

以上





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2010年10月20日 07時27分53秒
コメント(0) | コメントを書く


■コメント

お名前
タイトル
メッセージ
画像認証
上の画像で表示されている数字を入力して下さい。


利用規約 に同意してコメントを
※コメントに関するよくある質問は、 こちら をご確認ください。


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: