■ 最新の投稿

VBA:『WScript.Shell』参照設定 vs. 非参照設定(CreateObject)の違い

VBAでは、参照設定する方法と、しない(遅延バインディング)で CreateObjectAs 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記載中に、ピリオドを押すとプロパティやメソッドが選択できる機能のことです。これは、便利ですよね。


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です