【Accessから他のアプリケーションを起動する  Shell関数】

Accessから他のアプリケーションを起動する方法

AccessフォームのコマンドボタンをクリックするとExcelやAccessを開けるようにしたいといった、Accessを使用中に別のアプリケーションを開く機会は多々あります。

そんなときに活用できる方法として、今回はShell関数について紹介します。

(環境:Microsoft Access 2019)

Shell関数について

Shell関数とは、実行可能プログラムを実行し、成功した場合はプログラムのタスク ID を表す Variant (Double) の値を返し、失敗した場合は 0 を返します。

Shell(pathname, [ windowstyle ])


pathname: 必須。Variant (String)。 実行するプログラムの名前と必要な引数またはコマンド ライン スイッチ。ディレクトリまたはフォルダーとドライブを含めることができる。
windowstyle: 省略可能。プログラムを実行するウィンドウのスタイルに対応する Variant (Integer)。 windowstyle の指定を省略すると、プログラムがフォーカスを持った状態で最小化されて開始される。

引数のpathnameには起動させたいプログラムとパスを設定しますが、特に、プログラム名称の記載方法が間違っていると、上手く起動されませんのでご注意ください。

また、windowstyle引数には次の値を設定することができます。

別のデータベースファイル(Acessファイル)を開く方法

Accessのフォーム上にボタンを設置して、別のデータベースファイルが開けるように設定していきます。今開いているデータベースファイル(Acessファイル)と、次に開きたいデータベースファイル(Acessファイル)は既に存在している過程で説明していきます。

①フォームにコマンドボタンを作成する。VBAでコードを入力するので、「キャンセル」をクリックする。

②コマンド2のプロパティシートの「クリック時」に「コードビルダー」設定します。

③Shell関数を入力します。

 msaccessの後に半角スペースを入れる必要があり、この半角スペースは宣言の終了を意味します。

Private Sub コマンド2_Click()
'// 別のAccessを開く
    Shell ("msaccess ""C:\Users\Public\Documents\TEST.accdb")
End Sub

“C:\Users\Public\Documents\TEST.accdb”は、次に開きたいデータベースファイル(Acessファイル)名のアドレスです。ここを任意のアドレスに書き換えてください。

このように、「コマンド2」をクリックすると、指定したデータベースファイルが開きます。

他のファイルなどを開ける場合

Excelを開いた場合。

Webサイトを開きたい場合。

Webサイトを開く時にはInternet Explorer(IE)やGoogle Chromeなどのブラウザソフトを宣言しましょう。ここではInternet Explorer(IE)で宣言して、Googleサイトを開くように設定します。

まとめ

AccessでShell関数を用いることで、ハイパーリンクのように別のデータベースファイルを開いたり、別のアプリケーションなどを起動させるような設定方法をご紹介しました。関数の設定次第で色々な使用方法ができるのも、幅が広がり、VBAを覚える上では楽しみの一つだと思います。是非一度設定してみてはいかがでしょうか。

コメント

タイトルとURLをコピーしました