

VBAでは、参照設定する方法と、しない(遅延バインディング)で CreateObject
や As
Objectを使う方法があります。
🔷 WScript.Shell
とは?
Windowsのシェル操作(実行・レジストリ・ショートカット作成など)を行うCOMオブジェクト。

例:WScript.Shell
を使った場合
▼参照設定(早期バインディング)
参照設定 → 「Windows Script Host Object Model」 を追加します。

Dim shell As IWshRuntimeLibrary.WshShell
Set shell = New IWshRuntimeLibrary.WshShell
shell.Run "notepad.exe"
▼ 非参照設定(遅延バインディング)
Dim shell As Object
Set shell = CreateObject("WScript.Shell")
shell.Run "notepad.exe"
◆参照設定あり vs. 非参照設定(CreateObject)
項目 | 参照設定あり | 非参照設定(CreateObject) |
---|---|---|
補完(IntelliSense) | あり ✅ | なし ❌ |
実行速度 | 速い ✅ | やや遅い ❌ |
配布 | 注意必要 ❌ | 安心 ✅(参照設定の誘導なくとも、コードのみ配布できる) |
安定性 | 高い ✅ | やや不安定(バージョン依存)❌ |
「補完」とはVBA記載中に、ピリオドを押すとプロパティやメソッドが選択できる機能のことです。これは、便利ですよね。





コメントを残す