COMインターフェイスを公開する単純なドットネットコンポーネントを作成できるため、 VBScript(または任意のCOM / ActiveXベースのテクノロジ)で使用できます。
- (1)ドットネットライブラリタイプのプロジェクトを作成し、COMの相互運用性にするクラスを公開します(ComVisible属性とClassInterface属性を追加します)。遅延バインディングによってインスタンスを作成できるように、ClassInterface属性をAutoDualに設定する必要があります。
- (2)プロジェクトのプロパティダイアログの[ビルド]タブで、[ COM相互運用性のレジスタ]チェックボックスをオンにします。
- (3)プロジェクトをビルドして、コンポーネントを適切に登録できるようにします(コンポーネントのセットアッププロジェクトを作成して、簡単にデプロイできるようにするオプションがあります)。
..。
namespace WinUtility
{
[ComVisible(true), Guid("32284FD3-417E-45fc-A4A0-9344C489053B"),
ClassInterface(ClassInterfaceType.AutoDual)]
public class WinDialog
{
public string ShowOpenFileDialog()
{
string result = string.Empty;
OpenFileDialog d = new OpenFileDialog();
if (d.ShowDialog() == DialogResult.OK) { result = d.FileName; }
return result;
}
}
}
コンポーネントが登録されると、VBScriptからインスタンス化できます。
dim wnd_helper, file_name
Set wnd_helper = CreateObject("WinUtility.WinDialog")
file_name = wnd_helper.ShowOpenFileDialog()
if trim(file_name) <> "" then
msgbox "file: " + file_name
else
msgbox "No file selected."
end if