|
▼小僧 さん:
ありがとうございます。
>こんにちは。
>
>>「実行時エラー3061:パラメータが少なすぎます、11を指定してください」
>
>こちらについては、現在 C:\ABC.xls は A 列にしか値が入っていない状態ではないでしょうか。
>
>A 〜 L と12個の値を格納するのに、
>受け皿が狭い為にパラメータを要求されているのだと思います。
>
>>[QTemp$A1:L210]
>
>は残念ながら認識してくれない模様です。
>
>
>さて、kama さんの行いたい事はもう一つ厄介な点を抱えています。
>
>MS の技術情報より
>http://support.microsoft.com/kb/904953/#kb1
>
>2005年10月18日に発表された Office の update を適用すると、
>DAO による Excel の更新ができなくなってしまいます。
>(実行時エラー '3073' 更新可能なクエリである事が必要です。 と表示されます)
>
>この問題は現在の所、オートメーションを用いて回避する方法が一般的です。
仮にupdate を適用した場合は、以下のコードもつかえなくなるのでしょうか?
教えていただきたいです。
>
>Sub T_056改()
>'要参照 DAO x.x Object Library
>Const csXlPath As String = "C:\ABC.xls"
>Dim i As Long
>Dim xlsApp As Object
>Dim xlsWkb As Object
>Dim RS As DAO.Recordset
>
> Set RS = CurrentDb.OpenRecordset("syu", dbOpenSnapshot)
> Set xlsApp = CreateObject("Excel.Application")
> Set xlsWkb = xlsApp.Workbooks.Open(csXlPath)
> 'xlsApp.Visible = True
> With xlsWkb.Sheets("QTemp")
> .Range("A1:L210").ClearContents
>
> For i = 1 To RS.Fields.Count
> .Cells(1, i).Value = RS(i - 1).Name
> Next
>
> .Range("A2").CopyFromRecordset RS
> End With
>
> xlsWkb.Close True: Set xlsWkb = Nothing
> xlsApp.Quit: Set xlsApp = Nothing
>End Sub
>
>
>クエリ名が「syu」で、Excelシート名が「QTemp」なのが気になりますが、
>適宜改良して使用してみて下さい。
|
|