No.6ベストアンサー
- 回答日時:
検索がテキストベースのファイルならVBにしなくても
エクスプローラでもバッチファイルでもできる。
以下バッチファイル参照。(必要な主な部分を抜粋)
SET CH=%1
:TOP
IF "%2" == "" GOTO EXT
FOR %%F IN ( %2 ) DO C:\WINDOWS\COMMAND\FIND.EXE /N /I "%CH%" %%F >> C:\SEARCH.LST
SHIFT
GOTO TOP
:ERR
GOTO END
:EXT
:END
ファイル名をFI.BATとしたバッチファイル。
「FI 検索文字列 検索ファイル・・・」
【使用例】
FI.BAT WIN C:\TEMP C:\WK D:\SOURCE\*.BAS
【機能】
"WIN"文字列を
"C:\TEMP"
"C:\WK"
"D:\SOURCE\*.BAS"
3つのフォルダ内で検索し見つかったら
テキストファイルへ書きだす。
指定フォルダはいくつでも可能。
No.5
- 回答日時:
コンソールアプリケーションを選んで
Module Module1
Sub Main()
Dim p As Double
Dim strt
' Read the information into a single string
Dim objReader As New System.IO.StreamReader("C:\Documents and Settings\XXXX\My Documents\aaa6.txt")
Dim fileString As String = objReader.ReadToEnd()
MsgBox(fileString)
strt = 1
Do
p = InStr(strt, fileString, ",")
MsgBox(p)
strt = p + 1
Loop While p <> 0
objReader.Close()
objReader.Dispose()
End Sub
End Module
をやってみると,旨くカンマの位置を示してくれるようだ。
上記のキモはReadToEndを使って、レコードごと(細切れ)の捕捉を避けていること。
ファイル名をその都度変えて、繰り返せば、10個程度のファイルなら使えるのではないか。
「ただ拡張子なしのファイル」で旨くいくかどうか判らないが、そのフォルダの中でユニークな名前なのだろうから、
また内容は文字列ならうまく行くのではないか。
また1ファイル全体で入力バッファーの制限長を越えたファイルでなければ良いが。
No.4
- 回答日時:
vb2010環境ではないので使えるか確認はしていませんが。
Dim fileName As String
For Each fileName In System.IO.Directory.GetFiles(フォルダ名)
If Microsoft.VisualBasic.InStrRev(fileName,".") = 0 Then
処理
End If
Next
InstrRevが使えなければ、fileName.LastIndexOf(".")
If fileName.LastIndexOf(".") = 0 Then
No.3
- 回答日時:
手で選択でなく、ファイルを特定するところからプログラム、自動化したいならフォルダ決めはどうするか。
ソース埋め込みでもINIファイルでもダイアログでもよい。ダイアログでもファイルが移動してもプログラム修正しなくてよい。それはそれでメリットあります。
ファイル一覧のテキストファイルをVBから作成し、拡張子あれば何もしない、拡張子なければ検索ロジックを実行でもよい。
検索して見つかったらそのファイル一覧にバイト位置追記でも良い。
1ファイルに複数あっても追記すれば良い。
何がベストか?と言われても何に対して、がわからない。個人差あります。
質問の背景わからず。今どんな感じだから改善したい、のならわかる。
また、やり方いろいろを提示したら終わりか作って欲しいレベルか不明。具体的要件まで提示しないと逆質問になりすぐには作れませんがー。
No.1
- 回答日時:
確認。
見つかればよいだけなら、エクスプローラほか既存ソフトで出来そうだが、プログラムということか。
見つかるとどうしたい?。あるなしだけかバイト位置も知りたいか。ファイルはあるフォルダ1つにあるか。等不明。
ファイルについては複数ファイル選択可能なダイアログを使う。使い方事例多数。
その1ファイルについて検索する。終わると次のファイル。
読み込むにはバッファ使うか1行ずつか1バイトずつか。
どこに悩んでいますか。
この回答への補足
出来ればバイト位置がわかれば良いです。
ファイル格納ディレクトリは一定なのでその中から見つけだせれば
良いのですがダイアログを使うというのは手動でファイルを選択する
ということでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- ドライブ・ストレージ Windows10でのファイル内の文字列検索 SSDに寿命? 4 2022/07/12 03:25
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) vbaサブフォルダーをワイルドカードで取得したい 2 2022/11/15 08:04
- その他(ソフトウェア) 一太郎付属の”全件検索”ツールの不具合 3 2023/07/25 15:03
- フリーソフト テキストファイル内を検索したい 1 2022/06/01 08:33
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- その他(ソフトウェア) コマンドプロンプトについて教えてください。 状況: 画像編集ソフト上でネットから保存した画像を使うの 3 2022/05/26 11:14
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
コマンドプロンプトで、指定し...
-
C言語---ファイルに出力したデ...
-
CSSを1ページに1枚作るのって変...
-
監視ツールを入れさせられまし...
-
バッチ処理で追記コピーしたい
-
自分で作成した重要ファイルを...
-
exeファイルの中身を見る方法は...
-
既にファイルが開いているのな...
-
Batファイルをバイナリ形式にす...
-
既に開いているエクセルを閉じ...
-
CRCが一致する確率
-
#include <Windows.h>というヘ...
-
jarファイル
-
ハイパーリンクされたJPGファイ...
-
warファイルをEclipseでプロジ...
-
.NETアプリを作ったときの .man...
-
C#でログファイルにファイルパ...
-
ファイル名にドットを使ったフ...
-
ディレクトリの監視と変更ファイル
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
#include <Windows.h>というヘ...
-
binファイルを解凍したいの...
-
Latexで図番号だけを「図1.1」...
-
.NETアプリを作ったときの .man...
-
C言語---ファイルに出力したデ...
-
exeファイルをデータ転送サービ...
-
Word VBA MSGBOX 内で降順表示
-
jarファイル
-
公文書のxmlファイルの開き方が...
-
参照するファイルをワイルドカ...
-
コマンドプロンプトで、指定し...
-
パイソンでpy ファイルと p...
-
exeファイルの中身を見る方法は...
-
コマンドプロンプトで作成日時...
-
ハッシュ値を取る時はファイル...
-
CSSを1ページに1枚作るのって変...
-
実行ファイル(.exeファイル)...
-
バッチ処理で追記コピーしたい
-
自分で作成した重要ファイルを...
おすすめ情報