• ベストアンサー

エクセルVBAでアクセスファイルを開く方法

いろいろ検索してコピペ等でやってみてもだめでした。 エクセルVBAで、エクセルファイルやEXEファイルを開く方法は簡単なのに、 アクセスファイルの開き方がわかりません。 ただ開くだけなのですが、簡単な記述の仕方はありませんか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#140971
noname#140971
回答No.1

Dim acApp As Object Private Sub CommandButton1_Click() On Error GoTo Err_CommandButton1_Click      Set acApp = CreateObject("Access.Application")   acApp.OpenCurrentDatabase "C:\Temp\Db2.mdb"   acApp.Visible = True Exit_CommandButton1_Click:   Exit Sub Err_CommandButton1_Click:   MsgBox Err.Description   Resume Exit_CommandButton1_Click End Sub Private Sub CommandButton2_Click() On Error GoTo Err_CommandButton1_Click   acApp.CloseCurrentDatabase   acApp.Quit Exit_CommandButton2_Click:   Exit Sub Err_CommandButton2_Click:   MsgBox Err.Description   Resume Exit_CommandButton2_Click End Sub エクセルのバージョンが問題かと思いますが・・・。 昨今は、Access から Excel をこのようにして開いています。 その逆バージョンです。

koutoku
質問者

お礼

ありがとうございました!! きちんと開けました!! 今後も活用させていただきます。

その他の回答 (2)

noname#140971
noname#140971
回答No.3

補足: 閉じる時のデバッグエラーを回避するには、エクセルのエラートラップの設定を変更!

回答No.2

shellを使うと簡単でしょう。 指定するアクセスのDBはフルパスで記述して下さい。 例) マイドキュメントにある、db1.mdb を起動します。 Shell "msaccess.exe ""C:\Documents and Settings\takataka65\My Documents\db1.mdb""", vbNormalFocus 「”」の数に注意してください。 mdbのフルパスを指すときに空白がある場合の対処になります。

関連するQ&A

  • ExcelのVBAでAccess操作です

    タイトルの操作で、エクセルシートのセルのコード番号をアクセスの データベースのIDのフィールドから検索し、アクセスのその行を削除または、修正をしようとしています。 アクセスのIDのフィールドには重複するものは存在しません。 現在For~Nextで一行づつ見る方法まできましたが、レコード数が増えた場合かなりの時間がかかります。 エクセルのVBAの記述で TROW=検索範囲.Find(検索文字列,Lookat:=xlWhole).Row に換わる記述はどういうものがあるのでしょうか? エクセルのVBAで処理をしたいのですがよろしくお願いします。 また、For~Nextの記述の場合、変更しようとするとLockedがYesになっているため変更できない旨のメッセージが出ます。 アクセスのテーブルにロックがかかっている意味だと思うのですが、 Unprotectのような記述もあれば教えていただきたいと思います。 アクセスは全く初めてで壁にぶち当たっています。 どうぞ宜しくお願いします。

  • EXCELのVBAを用いたACCESSのデータベース操作の本について

    VBAの初心者です。 EXCELのシート上にあるデータをACCESSのデータベースに蓄積したり、ACCESSのデータベースからEXCELにデータを飛ばして加工したりしたいと考えています。できれば、ACCESSにVBAを記述するのではなく、EXCELにVBAを記述し、データの蓄積などをEXCELから行う方法を勉強したいのです。 自分が本屋で見た限りでは、ACCESSにVBAを記述する方法であれば様々な本が出版されているのですが、EXCELに記述する方法が書いてある本が見当たりません(たくさんあるのかも知れませんが)。皆様お勧めの分本を教えてください。 なお、自宅でEXCEL2000とACCESS2000、会社でEXCEL97とACCESS97を使っていますので、どちらでもいける本がいいです。 よろしくお願いします。

  • ACCESS VBAで、エクセルファイルの更新

    ACCESS VBAで、エクセルファイルの更新を行いたいのですが、方法を教えてください。 エクセルで書式や集計の計算式を作成し、データ部のみACCESSで集計した値を置き換える方法を教えてください。

  • エクセルVBAのファイルが開けなくなりました

    比較的長くて複雑なVBAを含むエクセルのファイルが開けなくなりました。ファイルが開いた状態で砂時計がずっと回ったままです。 おそらくVBAで誤った記述をしたまま、無理に閉じてしまったからではないかと 思うのですが、このファイルを何とか開く方法はありますでしょうか?

  • アクセス2003・VBA

    アクセス2003を使っています。 アクセスのVBAを使って下記のやり方を教えて下さい。 (1)ファイル名を指定して、エクセルファイルを開く。 (VBA構文上でファイル名を入力し、固定するのではなく、そのVBAを実行すると、ファイルをダイアログで選択する方法です。) (2)その開いたファイルで2行目からデータが入っている行までをコピーし、そのVBAを実行しているアクセスファイルの特定のテーブルに貼り付ける。 上記の方法がお分かりの方、是非教えて下さい。 よろしくお願いします。

  • 【ACCESS】 VBA

    accessのVBAからエクセルファイルを参照する仕組みを作成しています。 エクセルファイルのシート名は数字になっており 下記のように記述するとエラーとなります。対応方法を教えてください。 STR_sheetは1 Set Xls_sheet = Xls_book.Worksheets(STR_sheet) こうしてみてもダメ Set Xls_sheet = Xls_book.Worksheets(Format(STR_sheet)) ちなみに、エクセルのシート名は変更不可です。

  • ACCESS、VBAでEXCELファイルをコピーはできますか

    ACCESS、VBAでEXCELファイルをコピーはできますか。 同じフォルダーにあるEXCELファイル:Aファイルを削除してA_BACKファイルをAファイルとしてコピーしたい。 宜しくお願いします。

  • accessでexcelのVBAを実行

    excelのファイルにはVBAは一切入れないで、accessにexcelで使いたいVBA入力しておき実行したいのです。 理由はCSVファイルをVBAにて加工したいからです。 よろしくお願い致します。

  • ACCESSからExcelのVBAを動かしたい。

    ACCESSからExcelのVBAを動かしたいのですが・・・。 何か、いい方法はありますか?

  • EXCEL VBAからEXCELファイルを非表示で開きたい

    こんにちは。 EXCEL VBAから、別のEXCELのファイルを非表示で参照し、 セルの内容を取得したいのですが、やり方がわかりません。 どなたかお知恵をお貸しください。 できれば、具体的な記述方法を知りたいです。

専門家に質問してみよう