No.3ベストアンサー
- 回答日時:
前回の処理内容のいくつか単語を検索すればまぁすぐだと思いますが…
くやしいと思う程ならばもう少し自主的に検索をお勧めします。
まぁでも回答します。
FileSystemObject
http://officetanaka.net/excel/vba/filesystemobje …
前回の処理はFileSystemObjectを使用しています。
クラスからオブジェクト作成インスタンス化して実行と言う意味がわからなければもしかしたらサイトを見てもわからないかもしれませんが。
あと前回の処理ももう少し噛み砕いておきます。
'ファイルパスを定義します
Path = "C:\Users\takashi sato\Desktop"
'検索対象文字列を定義します
fin = "STTT"
'オブジェクトを定義し、FileSystemObjectオブジェクトを作成します。
Dim myfso As Object
Set myfso = CreateObject("Scripting.FileSystemObject")
Set gf = myfso.GetFolder(Path)
'指定フォルダにあるファイルの分だけforで回しファイル名と\マークで結合します。
For Each fl In gf.Files: fn = fn & fl.Name & "\": Next
'末尾につく\マークを除外し\マークから配列化させます
fn = Split(Left(fn, Len(fn) - 1), "\")
'エラーがあった場合処理をスキップする宣言
'テキスト形式で開けないまたは0KBのファイルはエラーが出るため。
On Error Resume Next
'もしもほかのファイルが混じる場合likeを使ってください。
'ファイル名 like "*.txt"などでよいでしょう。
For i = 0 To UBound(fn)
Set otf = myfso.OpenTextFile(Path & fn(i))
'readallを使いファイルを開き内容を変数に格納します
datas = otf.readall
'開いたデータに検索対象文字列があるか調べますある場合は\マークで結合していきます。
If InStr(datas, fin) > 0 Then filelist = filelist & fn(i) & "\"
'開いたら閉じる(目には見えませんがファイルは開きっぱなしにしない事)
otf.Close
Next
'末尾につく\マークを除外します
filelist = Left(filelist, Len(filelist) - 1)
'最後に内容を表示します。
MsgBox Replace(filelist, "\", vbCrLf)
以上
さらに補足・修正が欲しい場合言ってください。
No.2
- 回答日時:
回答です
Sub checkfiles()
Path = "C:\Users\takashi sato\Desktop"
fin = "STTT"
Dim myfso As Object
Set myfso = CreateObject("Scripting.FileSystemObject")
Set gf = myfso.GetFolder(Path)
For Each fl In gf.Files: fn = fn & fl.Name & "\": Next
fn = Split(Left(fn, Len(fn) - 1), "\")
On Error Resume Next
For i = 0 To UBound(fn)
Set otf = myfso.OpenTextFile(Path & fn(i))
datas = otf.readall
If InStr(datas, fin) > 0 Then filelist = filelist & fn(i) & "\"
otf.Close
Next
filelist = Left(filelist, Len(filelist) - 1)
MsgBox Replace(filelist, "\", vbCrLf)
End Sub
「C:\Users\takashi sato\Desktop」に任意の名前のテキストファイル”のみ”を複数置き実行すれば「STTT」の文字が書かれいてるテキストファイル名だけ表示します。量が多い場合msgboxでは完全には確認できませんが変数にはちゃんと格納されているので大丈夫です。
また上記では最低限の処理しかしていません。指定ディレクトリにあるファイルすべてをテキストとして開こうとするため予期しないファイルを開いたりしますので注意してください。
処理違いや補足・修正が欲しい場合言ってください。
argumentさまありがとうございます。
早速試してみますが、自分が理解できていないプログラムを使用するのはやはり悔しいので、いただいたプログラムを参考に勉強させていただきます。外部ファイル操作についてわかりやすい教材や、ホームページがあれば教えていただければ幸いです。
No.1
- 回答日時:
ちょっと質問が難解なのですが、テキストファイルの中の文字列を探すのは、Windows標準の検索機能で探せます。
XPの場合ですと、「スタート」ボタン、開いたメニューの左側に検索があるので、それをクリック。
何を検索しますか?と犬が聞いてくるので、この場合はファイルとフォルダ全てをクリックします。
そこで条件を入力できるので、ファイルに含まれる単語または句に「STTT」と入れて検索すれば、STTTという文字列のファイルが一覧となって出てくるはずです。
(ファイル名の全てまたは一部は空白で構いません)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
餃子を食べるとき、何をつけますか?
みんな大好き餃子。 ふと素朴な疑問ですが、餃子には何をつけて食べますか? 王道は醤油とお酢でしょうか。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
【VBA】テキストファイルから特定の文字列を抽出して、エクセルに出力する
Excel(エクセル)
-
テキストファイルから特定の文字列が入った行を取得したいです。 例えば下記のような文が記載されたテキス
Visual Basic(VBA)
-
ある文字列を含む行の抽出
Excel(エクセル)
-
-
4
テキストファイルの一部分を抽出する方法について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
検索したファイルの場所を調べ...
-
Not kind:Folders
-
ワードの作成日時と更新日時
-
csvファイルの最後にeof(0x1a)...
-
コマンドプロンプトでファイル...
-
ショートカットファイルそのも...
-
拡張子で並び替えする方法
-
ハイパーリンク設定画面の「検...
-
コマンドラインからzip32j.dll...
-
拡張子.EXTの解凍方法
-
拡張子KIHを見るソフトって有り...
-
エクスプローラでフォルダー内...
-
知らないファイルがあります。
-
Win7フォルダ名入力中にIMEの変...
-
Windows10のメタデータの「メ...
-
media playerで取り込みが上書...
-
貼り付けとショートカットの貼...
-
zipファイルでパスワードをつけ...
-
常に「すべての列のサイズを自...
-
System32内のファイルを書き換...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Not kind:Folders
-
検索したファイルの場所を調べ...
-
貼り付けとショートカットの貼...
-
ショートカットファイルそのも...
-
ワードの作成日時と更新日時
-
拡張子KIHを見るソフトって有り...
-
突然エクセルのデータが何ヶ月...
-
複数のワードのファイルから検索
-
Win 10エクスプローラーについ...
-
コマンドプロンプトでファイル...
-
拡張子.EXTの解凍方法
-
全CSVファイルに一行だけ追加し...
-
csvファイルの最後にeof(0x1a)...
-
自分だけファイルが見られるよ...
-
Win7フォルダ名入力中にIMEの変...
-
同じ名前のファイルをひとつの...
-
ファイル並び替え 秒まで
-
MP3→CDA形式の変換方法
-
Windows10のクイックアクセスの...
-
zip形式の動画をDVD-RWに保存し...
おすすめ情報