人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

質問です
c:\test\のフォルダーに複数のtxtファイルがあります
データが1行目からn行あります
データは
"aaa@bbb.ne.jp","","","","","","","","","","",""
の状態です
このデータを
aaa@bbb.ne.jp
のみにできるマクロをおねがいします
現在はCSVファイルで区切り位置で取り出しています
よろしくお願いします

●質問者: inosisi
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● きゃづみぃ
●100ポイント ベストアンサー
Sub main()
Dim p As String
'対象フォルダを指定してください。
'このフォルダに この実行用のブックは 入れないでください。

p = "C:\test\"

'処理対象となる拡張子を指定して 呼び出します。
Call jikkou(p, "txt")

End Sub


Sub jikkou(p As String, s As String)

Dim bk() As String
Application.DisplayAlerts = False
 
f = Dir(p & "*." & s, vbNormal)

Do While f <> ""
 k = 0
 ReDim bk(k)
 
 ch1 = FreeFile
 Open p & f For Input As #ch1
 
 Do While Not EOF(ch1)  'ファイルの終端かどうかを確認します
 Line Input #ch1, textline  'データ行を読み込みます
 ReDim Preserve bk(k)
 bk(k) = textline
 k = k + 1
 Loop
 Close #ch1
 
 ch2 = FreeFile
 Open p & f For Output As #ch2
 For i = 0 To k - 1
 textline = bk(i)
  '先頭が " なら 次の "まで 一項目とする。
 If Left(textline, 1) = """" Then
 c = InStr(2, textline, """")
 textline = Left(textline, c - 1)
 textline = Right(textline, c - 2)
 Else
 c = InStr(1, textline, ",")
 If c = 0 Then
 Else
 textline = Left(textline, c - 1)
 End If
 End If
 
 Print #ch2, textline  'データの書き込みをします
 Next i
 Close #ch2
 
 f = Dir
Loop

Application.DisplayAlerts = True

End Sub


inosisiさんのコメント
ありがとうございました。 完璧です うまくいきました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ