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を覚える上では楽しみの一つだと思います。是非一度設定してみてはいかがでしょうか。
コメント