tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
ADOと、Jet用OLE DB Providerを使ってのExcelへの入力(VB6.0) ( No.0 )  [親スレッドへ]
日時: 2010/01/07 13:48
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[エクセル][データベース][]                                          *
* キーワード:,,,,,                                                               *
***********************************************************************************

----------------------------------------------------------------------------
投稿時間:2002/11/07(Thu) 21:27   No.1295
投稿者名:魔界の仮面弁士
タイトル:Re: VB6.0からEXCEL97へのデータ入力でのエラーについて
----------------------------------------------------------------------------

> 上記環境にて、別のプログラムで作成した複数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



 [スレッド一覧へ] [親スレッドへ]