• ベストアンサー

AccessからExcelのファイルを起動する

Accessのフォーム上にボタンを作成して クリックすると特定のExcelのファイルが起動する ようにしたいのですが、簡単な手はありませんか?

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 Shell関数を使って、 Shell "C:\Program Files\Microsoft Office\Office\EXCEL.EXE ファイル名" とします。 ちなみに、Excelの実行ファイルのパスは環境によって違ってきます。 あと、Excelの実行ファイルのパスがわからなくても、ファイルに関連付けられたアプリケーションで開くには、API関数のShellExecute関数を使用します。 API関数については、WEB上で検索して下さい。 このサイトの過去の質問でもヒットするかも知れません。

その他の回答 (3)

  • ryuu001
  • ベストアンサー率61% (46/75)
回答No.4

1番簡単なのは ハイパーリンク です。 コマンドボタンの ”プロパティ”の ”書式”に  ”ハイパーリンクアドレス” が あります。 そこに、Excelファイルの パスとファイル名を設定するだけです。

  • driverII
  • ベストアンサー率27% (248/913)
回答No.3

いろいろな方法がありますが、こんな方法もあります。 マクロを作成します。 アプリケーションの実行を選択し、コマンドラインに[EXCEL.EXE "開きたいファイル名"]と指定します。 あとはフォーム上にボタンを作成し、クリック時にそのマクロが実行されるように指定します。 開きたいファイル名を可変にしたい場合は、VBAでコーディングすればいいでしょう。

noname#102878
noname#102878
回答No.2

初期の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関数のような難しさもないですよね?

関連するQ&A