|
▼kama さん:
こんにちは。
>「実行時エラー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' 更新可能なクエリである事が必要です。 と表示されます)
この問題は現在の所、オートメーションを用いて回避する方法が一般的です。
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」なのが気になりますが、
適宜改良して使用してみて下さい。
|
|