- ベストアンサー
csvファイルへの書き出し
下記のテキストファイルがあります。 企業名、コード、従業員数、住所、電話 ------------------------------------- この中から企業名、住所のみ別のシートにcsvファイルとして書き出すにはどうしたらいいのでしょうか???
- みんなの回答 (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"
その他の回答 (4)
- taseki
- ベストアンサー率66% (155/233)
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
- ept63
- ベストアンサー率21% (54/247)
元のテキストファイルはご質問のように[、]で区切られているのですか? 詳細がいまいちわからないのですが[、]で区切られているものとして回答します。 まずEXCELを開きます。 EXCELから[ファイルを開く]を選びます。 (見えない場合はファイルの種類をすべてのファイルにしたら見えると思います。) テキストファイルウイザードでカンマやタブで区切られたフィールドを選択し次に移ります。 区切り文字を[その他]を選択し、[、]を入力し次に移ります。 以上でEXCELに取り込めるので 後は保存時にCSV形式で保存してやれば完了です。 自動化するなどでVBのコマンドが必要であればここにレスください。 また現れるかと思います。では。
- norikunny
- ベストアンサー率21% (256/1168)
エクセルファイルでテキストファイルを読み込み、住所欄以外を削除、CSVとして書き出してはいかがでしょうか。
- shoshoshosho
- ベストアンサー率52% (12/23)
安易に考えると、 テキストファイルをLineInputで一行ずつ読み込んで、 企業名、住所を抜き出し、 Printでカンマ区切りで出力する。 となりますが、こういうことではないですか?