Microsoft Access Club >VBAのTips解説 >このページ >次頁 < 前項  サイト内検索
 

Shell関数でExcelアプリケーションを起動する方法 : VBAのTips解説



Shell関数

Shell関数は、実行可能プログラム(一般的には拡張子exeのアプリケーション)を起動する関数です。Shell関数の引数に、絶対パス(アプリレーションが格納されている場所)を記述します。なお、OfficeアプリケーションであるExcel、WordなどをShell関数で起動させると、新規ファイルが開きます。なお、Shell関数はプログラムを非同期に実行しますので、Shell関数が実行され起動されたプログラムが終了したかどうかにかかわらず、次のコードに制御が移ります。サンプルファイルをご利用の場合、OSやExcelのバージョンの違いによりExcelのインストール先フォルダーが異なります。ご自分の環境に書き換えて下さい。

  • 書式
Shell(pathname,windowstyle)
  • 引数
引数 意味 指定
pathname 実行するプログラム名までのパスを指定します 省略不可
windowstyle 実行するプログラムのウィンドウの形式(最大化、最小化等)を指定します

省略可。省略した場合は、起動したアプリケーションは、フォーカスを持った状態で最小化されます

  • 引数の設定値
引数windowstyle
引数 引数(定数) 意味
vbHide 0 開いたアプリケーションはフォーカスを持ちますが、非表示になります
vbNormalFocus 1 開いたアプリケーションはフォーカスを持ち、前回起動したサイズと位置に復元されます
vbMinimizedFocus 2 開いたアプリケーションはフォーカスを持ち、最小化で起動されます
vbMaximizedFocus 3 開いたアプリケーションはフォーカスを持ち、最大化で起動されます
vbNormalNoFocus 4 開いたアプリケーションはフォーカスを持たず、最後のウィンドウを閉じたときのサイズと位置に復元されます。複数起動した場合、アクティブなウィンドウは、アクティブのままです
vbMinimizedNoFocus 6 開いたアプリケーションはフォーカスを持たず、最小化で起動されます。複数起動した場合、アクティブなウィンドウは、アクティブのままです

関連項目

  1. CreateObjectメソッド
  2. GetObjectメソッド
  3. DDEInitiate関数

事例 ) Shell関数を用いて、Excelアプリケーションを起動する

Shell関数を用いて、Excelアプリケーションを起動します。

  1. 非連結フォームを作成します。
  2. 実行するコマンドボタンを作成します。

コマンドボタンクリック時イベントプロシージャの作成

コマンドボタンクリック時イベントプロシージャを以下のように作成します。

Private Sub 実行_Click()

   On Error GoTo エラー発生

   Dim strPass As String
   Dim strMsg As String
   Dim varRetval As Variant

   strPass = "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" '---A
   strMsg = "Shell関数を用いて、" & strPass & " を開きます。"

   If vbYes = MsgBox(strMsg, vbYesNo) Then
      varRetval = Shell(strPass, vbNormalFocus) '---B
   End If

   Exit Sub

エラー発生:

   MsgBox Err.Number & " : " & Err.Description
   Exit Sub

End Sub
解説
  1. 変数strPassにExcelアプリケーションのパスを記述します。
  2. Shell関数の引数に変数strPassを指定し、定数vbNormalFocusモードでアプリケーションを起動します。

動作確認

  1. フォームをビューモードで開きます。
  2. [実行] ボタンをクリックします。

  1. Excelアプリケーションが起動します。

ページの先頭へ 前ページへ戻る

 


Shell関数でExcelアプリケーションを起動する方法 : VBAのTips解説


 

-Microsoft Access Club-

PLESKやcPanelを思いのまま、ヨーロッパのフランス、ドイツ等の大手データセンターに配置しています。
PLESKパネルやcPanelパネルを思いのまま..
ヨーロッパ大手データセンター(ドイツ、フランス)を利用できます。
応対は全て日本語、サポートデスクを介したメールアドレスで行ないます。