dポイントプレゼントキャンペーン実施中!

どう文章にすれば良いのか分かりませんが、アクセスのマクロを使って、指定したエクセルシートを開きたいのですが、どうすれば良いのでしょうか。アプリケーションの実行?だと、どのように指定すれば良いのでしょう。分かりにくくて申し訳ありません。今、仕事で困っているのでアドバイスください。
あと、エクセルのシートに計算式が入っている場合、エクセルを閉じたままではテーブルにインポートされない場合はありますか?何度やってもインポート元のエクセルを開いた状態でないと、うまくインポートされないんです・・・

A 回答 (3件)

はじめまして



Function OpenExcel()
Dim objXl
Set objXl = CreateObject("excel.application")
objXl.Visible = True
'ここに、エクセルで行いたい処理
'Excel VBA でApprication. との記述を objXl と置き換える
objXl.Quit
End Function

>指定したエクセルシートを開きたい
Excel VBAでは
Apprication.Workbooks.Open("パス&ファイル名")
とするのを、AccessVBA内では、
objXl.Workbooks.Open("パス&ファイル名")
とします。

また、エクセルを二重に起動するのを防ぐには以下のサイトを参考にしてください。
http://www.bcap.co.jp/hanafusa/VBHLP/excel03.htm

Set objXl = GetObject(, "Excel.Application")
を試みて、GetObject が失敗したらエラー処理で
Set objXl = CreateObject("excel.application")
を実行すれば、いずれもobjXlがエクセルを表します。
    • good
    • 0

まさかとは思いますが、


エクセルの内容をアクセスにインポートしたいために
アクセスからエクセルを開こうとしているのではないですよね?
    • good
    • 0

開くだけでいいのならマクロやVBAより


ハイパーリンクアドレスプロパティーを使うほうが簡単ですよ
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す