AccessにExcelデータの自動取込時のエラー
いつもお世話になっております。
Access2000(OSはWindowsXP)上にボタンを作り、これをクリックするとExcelデータを自動的にインポートするプログラムを作って実行したら、次のようなエラーメッセージが出ます。
「予期せぬエラーが発生しました。エラー番号:3011 エラー内容:オブジェクト’RTEST’が見つかりませんでした。オブジェクトが存在していること、名前やパス名が正しいことを確認してください。」
プログラムはインターネットを調べて、下記のように書きました。
また、Excelデータはメールに添付されていたサンプルのデータ(項目は、行番号、伝票番号、所属、顧客名、金額、発行日で、データは22件入っています。ファイルの種類は「Microsoft Excel 97-2003 ワークシート」)をマイドキュメントにコピーしました(ファイル名は RTEST.xls )。
エラーが発生したので、C:\にコピーしてやってもみましたが、やはり同じエラーが起こります。
なお、このパソコンにはExcelはインストールされていません・・・これが問題とは思えないのですが。
原因の分かる方がおられましたら、是非対処の方法を教えて頂きたく思います。
あるいは、もっと良い記述の仕方をご教授頂くことでも構いません。
要は、他のパソコン(遠隔地にある)にあるExcelデータをUSBメモリ等のメディアまたはメールに添付して送付してもらい、それを自分のパソコンにコピーし、それをAccess2000にインポートすることができればよいのです。
手動でのインポートは問題なくできたが、自動で行いたいので、悩んでおります。
どうぞ宜しくお願い致します。
(記述したプログラム)
---------------------------------------------------------
Private Sub 実行_Click()
On Error GoTo エラー
Dim strac As String
Dim strxls As String
Dim strrange As String
Dim strmsg As String
strac = "T_RTEST" 'Accessテーブルを指定
strxls = "C:\Documents and Settings\DAN\My Documents\RTEST.xls" 'エクセルファイルを指定
( 'strxls = "C:\RTEST.xls" 'C:\でやったときの記述)
strrange = "RTEST" 'データ入力のシート名とセル範囲を指定しない
strmsg = "エクセルファイル" & strxls & "を、Accessファイル" & strac & _
"として、データ入力を行います。" & Chr(13) & Chr(13) & _
"エクセルファイルの入力レンジは、" & strrange & "です。" & _
"注意点としては、既にAccessファイル" & strac & Chr(13) & Chr(13) & _
"が存在しているとデータを追加していきますので、実行前に" & strac & _
"を削除しています。" & Chr(13) & Chr(13) & _
"よろしければ、OKをクリックしてください。" 'MsgBoxのメッセージ
DoCmd.DeleteObject acTable, strac 'テーブルを削除
If MsgBox(strmsg, vbOKCancel, "Microsoft Access Club") = vbOK Then
'最初のデータをフィールド名として使います。
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel3, _
strac, strxls, True, strrange
MsgBox "データ入力は、正常に完了しました。"
End If
Exit Sub
エラー:
Select Case Err.Number
Case 7874
'エラーの原因となったステートメントの、
'次のステートメントからプログラムの実行を再開します。
Resume Next
Case Else
MsgBox "予期せぬエラーが発生しました。" & Chr(13) & Chr(13) & _
"エラー番号:" & Err.Number & Chr(13) & Chr(13) & _
"エラー内容:" & Err.Description, 1, "Microsoft Access Club"
End
End Select
End Sub
---------------------------------------------------------