エクセルファイルからテキストファイルを作成するには?

解決


北村  2005-08-26 20:28:16  No: 124512

[Xp professional vb6.0 Excel2002]
先ほど誤って送信しました。
8000行8列のエクセルファイルをテキストファイル(カンマ区切り)に作り変えます。
その際に、できるだけ処理が早い方法を探しています。理想は数秒です。
これまで試したのは、
1.
n = FreeFile
endRow = xlSheet.Cells(65536, 1).End(xlUp).Row
Open "temp.txt" For Output As #n
   For i = 1 To endRow
       a = xlSheet.Cells(i, 1)
       Write #n, a
Next i
Close #n

2.
xlSheet.Range(Cells(1, 1), Cells(endRow, 7)).Copy
n = FreeFile
Open "temp.txt" For Output As #n
Print #n, Clipboard.GetText()
Close #n

3.エクセルファイルを開き、SaveAsでFileName="temp.txt" FileType=xlCSV  で保存する。

とする3つです。もっとも早いのは2のクリップボード経由でした。
ただし、2はこの後にテキストファイルのタブ区切りをカンマに置換する工程が入ります。
他にDAOを使う方法も調べましたが、技術不足なためまだ試していません。
他にどのようなアイデアがあるかご教授願います。


北村  2005-08-26 20:30:37  No: 124513

追加です。
1.に関して、For内の処理はa〜hの8つ行われます。
Write #n, a & "," & b & "," & c & "," & D & "," & e & "," & f & "," & g & "," & h
です。


北村  2005-08-26 20:51:43  No: 124514

誤り送信スレに回答いただいた、魔界の仮面弁士さん、Blueさん、申し訳ありませんでした。


Blue  2005-08-26 20:57:27  No: 124515

結局 ちゃんとした CSVファイルになるまでに要する時間は3が一番早くなるのでしょうか?
(2はタブ区切りCSVファイル→タブの置換処理を合わせて計測すべき)


北村  2005-08-26 22:33:47  No: 124516

SaveAsを使いました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加