HOME > 即効テクニック > Excel VBA > その他関連のテクニック > コントロールパネルの各種ダイアログボックスを開く

コントロールパネルの各種ダイアログボックスを開く|Excel VBA

その他関連のテクニック

コントロールパネルの各種ダイアログボックスを開く

(Excel 2000/2002/2003/2007/2010)

ShellオブジェクトのControlPanelItemメソッドを利用すると、各種ダイアログボックスを表示することができます。

構文 Object.ControlPanelItem bstrDir (または szDir)

設定項目内容
ObjectShellオブジェクト
bstrDir
またはszDir
コントロールパネルの種類を表すファイル名(拡張子.cpl)

ダイアログボックスの種類を表す主なファイル名は下記の通りです。

ファイル名種類
APPWIZ.CPL「プログラムの追加と削除」ダイアログボックス
DESK.CPL「画面のプロパティ」ダイアログボックス
INETCPL.CPL「インターネットのプロパティ」ダイアログボックス
SYSDM.CPL「システムのプロパティ」ダイアログボックス
MAIN.CPL「マウスのプロパティ」ダイアログボックス 

※ 表示されるダイアログボックスの名称は、OSのバージョンによって異なることがあります。
  Windows7では、APPWIZ.CPLで「プログラムと機能」、DESK.CPLで「画面の解像度」となっています。

次のサンプルは、ControlPanelItemメソッドを利用して、「システムのプロパティ」ダイアログボックスを表示します。なお、このサンプルを実行するには、あらかじめ「Microsoft Shell Controls And Automation」に参照設定しておきます。

●サンプル●

Sub ShowControlPanelSample()
    Dim TempShell As Shell32.Shell
    
    Set TempShell = New Shell32.Shell
    
    TempShell.ControlPanelItem "SYSDM.CPL"
    
    Set TempShell = Nothing
End Sub

●注意●

ControlPanelItemメソッドは引数を1つだけとりますが、この引数名がOSのバージョンによって異なります。
Windows Vista、Windows7では引数名がbstrDir、Wndows XPではszDirとなっています。

外部ライブラリを参照する場合、OSのバージョンによって引数名が異なることがあるので、注意が必要です。
もし、名前付き引数でエラーになった場合は、上記のサンプルのように引数名を使わずに引数を渡してみてください。