投稿時間:2002/11/07(Thu) 21:27 投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:Re: VB6.0からEXCEL97へのデータ入力でのエラーについて
> xl.worksheets(l).Cells(j, i).Value = strData Cellsの繰り返しは、ハングアップの元だったりします。 http://support.microsoft.com/default.aspx?scid=kb;ja;JP414107
> 上記環境にて、別のプログラムで作成した複数CSVファイルを > 一つのブックの複数シートに入力しようと考えています。
ADOと、Jet用OLE DB Provider 4.0を使って作成する方法もあります。 (この方法だとは、Excelがインストールされていない環境でも作成できます)
Option Explicit
Private Sub Form_Load() Dim strWorkName As String Dim strCSVFolder As String Dim strCSVName As String Dim strExcelFileFullPath As String Dim Cn As ADODB.Connection Dim SQL As String
strCSVFolder = "C:\USER\" strWorkName = "~tmpVB.dat" strExcelFileFullPath = "C:\USER\Excel.xls"
If Dir(strExcelFileFullPath) <> "" Then Kill strExcelFileFullPath End If With CreateObject("ADOX.Catalog") .Create "Provider=Microsoft.Jet.OLEDB.4.0;" _ & "Data Source=" & strCSVFolder & strWorkName End With
Set Cn = New ADODB.Connection Cn.Provider = "Microsoft.Jet.OLEDB.4.0" Cn.Open strCSVFolder & strWorkName
strCSVName = Dir(strCSVFolder & "*.csv") Do Until strCSVName = "" SQL = "SELECT * INTO [" SQL = SQL & "Excel 8.0;Database=" & strExcelFileFullPath SQL = SQL & "].[" SQL = SQL & Replace(strCSVName, ".", "_") SQL = SQL & "] FROM [" SQL = SQL & "text;HDR=NO;FMT=Delmited;Database=" & strCSVFolder SQL = SQL & "].[" & strCSVName & "]"
Cn.Execute SQL
strCSVName = Dir() Loop Cn.Close Set Cn = Nothing End Sub
|