DIAdemでダイアログボックスを作成する方法の基礎・サンプルについては
こちらの資料で確認できます。
1. DIAdemを起動し、VBScriptを開きます。
ダイアログボックスを作成するには
ユーザダイアログボックスを作成を選択し、DIAdemダイアログエディタを開きます。
2. VBScriptとダイアログボックスファイルの作成
ダイアログボックスとなる*.sudファイルと、それを呼び出す*.vbsファイルを作成します。VBScriptからダイアログボックスを呼び出す際に、同じフォルダの*.sudファイルを呼び出す方法を使用する為、この2点は同じフォルダに作成します。
DIAdemのVBScriptは下記の物を使用します。
Option Explicit
class cSUDPara
dim sObject
end class
Dim oSUDPara
set oSUDPara = new cSUDPara
oSUDPara.sObject = "Red"
call SUDDlgShow("Dlg1", CurrentScriptPath & "SudExample", oSUDPara)
msgbox oSUDPara.sObject
上記のスクリプトではダイアログボックスのパスをVBScriptファイルを保存したフォルダに存在するSudExample.sudとしています。ダイアログボックスの*.sudファイルはSudExample.sudという名前でVBScriptファイルと同じフォルダに保存すると上記のスクリプトをそのまま使用する事ができます。
3. ダイアログボックスの作成
ダイアログボックスを配置します。
ボタンを配置します。
ボタンを下記の様に編集し、Button Typeを4 - OKに変更します。
コンボボックスをクリックし、ObjectCodeをcb1にします。
コンボボックスをダブルクリックし、スクリプトの編集を行います。イベントの項目のEventInitializeとEventTerminateをダブルクリックし、下記の様にイベントハンドラを作成します。
上記のスクリプトを下記の様に編集します。
Option Explicit
Dim oSUDPara
Sub Dialog_EventInitialize(ByRef This) '作成されたイベントハンドラー
Set oSUDPara = Dialog.GetArgument
Call cb1.Items.RemoveAll
Call cb1.Items.add("Red", 0)
Call cb1.Items.add("Green", 1)
Call cb1.Items.add("Yellow", 2)
select case oSUDPara.sObject
case "Red" cb1.Value = 0
case "Green" cb1.Value = 1
case "Yellow" cb1.Value = 2
end select
End Sub
Sub Dialog_EventTerminate(ByRef This) '作成されたイベントハンドラー
oSUDPara.sObject = cb1.Text
call Dialog.SetArgument(oSUDPara)
End Sub
上記の編集を行い、保存した後、DIAdem Scriptで作成したVBScriptを実行すると、下記の様にコンボボックスの挙動を確認できます。