いつもお世話になっております。
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
---------------------------------------------------------
No.1ベストアンサー
- 回答日時:
>DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel3, _
strac, strxls, True, strrange
Excel では、RTEST という範囲名が設定されていないのでは?
なら此処は・・・strac, strxls, True だけで。
また、acSpreadsheetTypeExcel3 はExcel3.0形式の指定です。8 あたりでは?
連絡が遅くなり、申し訳ありません。
今、ご指示のようにプログラムの記述を「・・・strac, strxls, True」 だけにして、更に「acSpreadsheetTypeExcel3 」の「3」の部分を「8」に変更してみたら、うまくいきました。
どうもありがとうございました。大変助かりました。
今後とも宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
列名に変数を使うことはできな...
-
SQLserver2005 nvarchar を flo...
-
DLLが正しく呼び出せません (ToT)
-
複数フィールドの条件について
-
ウィンドウズ10へアップロー...
-
コンテキストにバインド???
-
実行時エラー459 withステート...
-
T-SQLでのテキスト型変数の宣言...
-
Access 実行時エラー'3075' 対...
-
SQL文長の制限
-
空白はダメというエラーの表示...
-
PL/SQL ORA-06502エラーに関し...
-
SQL文で既定値の記述
-
AccessVBA 実行時エラー'2766'...
-
オラクル(PL/SQL)のエラー
-
「1004:アプリケーション定義...
-
SQLserver認証が出来ない
-
共有フォルダに誰が何にアクセ...
-
tmpファイル なぜできる?削除...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
「1004:アプリケーション定義...
-
列名に変数を使うことはできな...
-
アクセスでエラー このフィー...
-
実行時エラー459 withステート...
-
AccessVBA 実行時エラー'2766'...
-
空白はダメというエラーの表示...
-
SQLserver2005 nvarchar を flo...
-
SQL文長の制限
-
オラクル(PL/SQL)のエラー
-
DocuWorksでの印刷
-
SQL エラー コードの一覧 につ...
-
Access2010実行時エラー-21473525
-
BULK INSERTのエラー取得は可能...
-
PL/SQL ORA-06502エラーに関し...
-
UPDATEを使ったSQL文にて
-
『ORA-00936: 式がありません。...
-
DLLが正しく呼び出せません (ToT)
-
(素人の質問) SQL Server エ...
-
Access 実行時エラー'3075' 対...
おすすめ情報