|
ここの
【64823】Re:CSVの取込について
no=64823
超初心者さんのコードをまねて、CSVファイルを読み見込むコードを作ってみた。
郵政省の郵便番号?CSVファイルを削って、65536行にしたやつ。
1分28秒で終わった。
現在のPCの性能がかなり上がっている元も考慮しても、なんか速すぎるような気が...。
でも、メモリに依存しそうな気もするので、昨年暮れまでのPCで試したら、止まるような気がしないでもない。
しかし、1分28秒で終わってしまうとは思わなかったので、今までの苦労は何なの!って、感じでした。
Sub CSV読み込み()
Dim DDB As DAO.Database
Dim OpnF As Variant
Dim DBPth As String, CSV_F As String
OpnF = Application.GetOpenFilename("Excelファイル (*.csv;*.txt), *.csv;*.txt")
If VarType(OpnF) = vbBoolean Then
Exit Sub
End If
'GetOpenで、カレントディレクトリが移動しているので、そのまま使う。
DBPth = CreateObject("WScript.Shell").CurrentDirectory
CSV_F = Dir(OpnF)
Stt = Now()
Set DDB = DBEngine.Workspaces(0).OpenDatabase(DBPth, False, False, "Text;HDR=NO;")
SQLSt = "SELECT * FROM " & CSV_F
Set DbRs = DDB.OpenRecordset(SQLSt, dbOpenSnapshot)
Range("A1").CopyFromRecordset DbRs
Set DDB = Nothing
Set DbRs = Nothing
MsgBox Format(Now() - Stt, "Hh:mm:ss")
End Sub
なんか知んないけど、URL記載が ht tp・・・とかしてもはねられる。
これもエロエロのせいでこうなったのか。
こいつら、他にやることないのかね。(こういう書き込みに対して)
|
|