• 締切済み

VBAでのテキストコピー

10000行ほどのテキストファイルから、先頭5文字が同じ文字の間、別のテキストファイルにコピーし、先頭5文字が変わるまで同じ処理ができるような構文を書きたいです。 どなたかご教授願えませんでしょうか?

みんなの回答

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

質問内容が分かりづらいですが、先頭5文字が同じテキストが1つのファイルになるようにファイル分割したいという意味に理解しました。違っていたら無視してください。 VBAでとありますが、AccessかExcelかは分かりませんでしたので、Excelで組んでみました。 エラー処理はしていませんので、実際に使うときは注意してください。 また、ファイルはソートされている必要があります。 Private Sub CommandButton1_Click() Dim S As String Dim Key As String On Error Resume Next Open "TextFile.txt" For Input As #1 Key = "" Do Input #1, S If Err > 0 Then Exit Do If S <> "" Then If Left(S, 5) <> Key Then If Key <> "" Then Close #2 Key = Left(S, 5) Open "File_" & Key & ".txt" For Output As #2 End If Print #2, S End If Loop If Key <> "" Then Close #2 Close #1 End Sub

pavidl
質問者

お礼

遅くなってしまいましたがわかりやすい回答ありがとうございます! とても参考になりました。

関連するQ&A