重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

下記のテキストファイルがあります。

企業名、コード、従業員数、住所、電話
-------------------------------------

この中から企業名、住所のみ別のシートにcsvファイルとして書き出すにはどうしたらいいのでしょうか???

A 回答 (5件)

Sub test02()


Open "C:\Documents and Settings\XXX\My Documents\text1.txt" For Input As #1
Open "C:\Documents and Settings\XXXX\My Documents\text3.csv" For Output As #2
While Not EOF(1)
Input #1, a, b, c, d
Write #2, a, d
Wend
Close #1
Close #2
End Sub
4項目の場合です。
1番目と4番目の項目を残します。
Text1が
1,2,a,b
2,3,d,f
23,45,f,g
Text3は
1,"b"
2,"f"
23,"g"
    • good
    • 0

VBカテゴリ、シートという言葉から、ExcelのVBAだと仮定して、以下サンプルコードです。



-----------------------------------
Sub SaveCSV()

Dim strFrom As String, strTo As String, strDlm As String

strFrom = "C:\test1.txt" ' ********** 元ファイル
strTo = "C:\test2.csv" ' ********** 保存ファイル
strDlm = "、" ' ********** 区切り文字

Workbooks.OpenText Filename:=strFrom, Other:=True, OtherChar:=strDlm, _
FieldInfo:=Array( _
Array(1, xlGeneralFormat), _
Array(2, xlSkipColumn), _
Array(3, xlSkipColumn), _
Array(4, xlGeneralFormat), _
Array(5, xlSkipColumn) _
)
ActiveWorkbook.SaveAs strTo, xlCSV
ActiveWorkbook.Close False
MsgBox "完了"

End Sub
    • good
    • 0

元のテキストファイルはご質問のように[、]で区切られているのですか?


詳細がいまいちわからないのですが[、]で区切られているものとして回答します。
まずEXCELを開きます。
EXCELから[ファイルを開く]を選びます。
(見えない場合はファイルの種類をすべてのファイルにしたら見えると思います。)
テキストファイルウイザードでカンマやタブで区切られたフィールドを選択し次に移ります。
区切り文字を[その他]を選択し、[、]を入力し次に移ります。
以上でEXCELに取り込めるので
後は保存時にCSV形式で保存してやれば完了です。

自動化するなどでVBのコマンドが必要であればここにレスください。
また現れるかと思います。では。
    • good
    • 0

エクセルファイルでテキストファイルを読み込み、住所欄以外を削除、CSVとして書き出してはいかがでしょうか。

    • good
    • 0

安易に考えると、


テキストファイルをLineInputで一行ずつ読み込んで、
企業名、住所を抜き出し、
Printでカンマ区切りで出力する。
となりますが、こういうことではないですか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!