- ベストアンサー
AccessからExcelのファイルを起動する
Accessのフォーム上にボタンを作成して クリックすると特定のExcelのファイルが起動する ようにしたいのですが、簡単な手はありませんか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 Shell関数を使って、 Shell "C:\Program Files\Microsoft Office\Office\EXCEL.EXE ファイル名" とします。 ちなみに、Excelの実行ファイルのパスは環境によって違ってきます。 あと、Excelの実行ファイルのパスがわからなくても、ファイルに関連付けられたアプリケーションで開くには、API関数のShellExecute関数を使用します。 API関数については、WEB上で検索して下さい。 このサイトの過去の質問でもヒットするかも知れません。
その他の回答 (3)
- ryuu001
- ベストアンサー率61% (46/75)
1番簡単なのは ハイパーリンク です。 コマンドボタンの ”プロパティ”の ”書式”に ”ハイパーリンクアドレス” が あります。 そこに、Excelファイルの パスとファイル名を設定するだけです。
- driverII
- ベストアンサー率27% (248/913)
いろいろな方法がありますが、こんな方法もあります。 マクロを作成します。 アプリケーションの実行を選択し、コマンドラインに[EXCEL.EXE "開きたいファイル名"]と指定します。 あとはフォーム上にボタンを作成し、クリック時にそのマクロが実行されるように指定します。 開きたいファイル名を可変にしたい場合は、VBAでコーディングすればいいでしょう。
初期のWindows95をそのまま使ってるわけじゃないから大丈夫でしょう。 ってことでWSHwを使いましょう。 ----------------------- Dim wshShell As Object Set wshShell = CreateObject("Wscript.Shell") wshShell.Run "C:\hoge\hoge.xls", 1, False Set wshShell = Nothing ----------------------- wshShell.Run の 第1引数は「開きたいファイルのフルパス」 第2引数は「ウィンドウの状態」です。 1または省略時は通常サイズ、2は最小化、3は最大化です。 第3引数は「開かれたアプリの終了を待つかどうか」です。 Trueを指定すると、Excelを閉じるまでAccess側の「Set wshShell = Nothing」が実行されません。 通常はFalseでいいと思います。 これならShell関数のようにExcelのインストール場所に左右されないし、API関数のような難しさもないですよね?