復元性を備えた Bot での VBScript パッケージの使用例
- 最終更新日2024/01/19
復元性を備えた Bot での VBScript パッケージの使用例
Microsoft Visual Basic スクリプトを実行する Bot をビルドします。Try/Catch パッケージを使用して、Bot が失敗した場合に適切に終了し、クラッシュに対する復元性を高めます。復元性を備えた Bot では、現在の Bot にエラーが発生した場合でも、スケジュールされてキューに置かれている Bot を続行できます。
手順
-
Bot を作成します。
-
左側のペインで [オートメーション] をクリックします。
選択可能な Bot とフォームのリストが表示されます。
- [新規作成] > [Bot] をクリックします。
- Bot の名前 MultiplyPi を指定します。
- フォルダーの場所として「Bots\TaskBotExample」を入力します。
- [作成と編集] をクリックします。
-
左側のペインで [オートメーション] をクリックします。
-
変数を作成します: nPromptAnswer:
- タイプ: 数字
- 名前: nPromptAnswer
-
変数を作成します: lNumbersForPi:
- タイプ: リスト
- サブタイプ: 数字
- 名前: lNumbersForPi
- [保存] をクリックします。
-
[プロンプト] > [値の場合]
アクションを使うと、ユーザーに数値を尋ねることができます。
- [アクション] ウィンドウの [表示] リンクをクリックします。
- [プロンプト]、[値の場合] アクションをダブルクリックまたはドラッグして、Bot に追加します。
- [ウィンドウ キャプションを表示] フィールドに「Any Number」と入力します。
- [メッセージを表示] フィールドに、次のように入力します: Enter any number to multiply by pi。
- [値を変数に代入] フィールドで、[SampleString] を選択します。
- [保存] をクリックします。
-
ユーザーが数値を入力していないなどのエラーが発生した場合に Bot を適切に終了するには、[エラー ハンドラー] > [試行]
アクションを使用します。
- [エラー ハンドラー] > [試行] アクションをダブルクリックまたはドラッグします。
- [プロンプト] > [値の場合] アクションを [エラー ハンドラー] > [試行] アクションの下にドラッグします。
- [保存] をクリックします。
-
[SampleString] (文字列) を数値に変換します。
- [文字列] > [数値に変換] アクションをダブルクリックまたはドラッグして、最後の行として [エラー ハンドラー: キャッチ] アクションの下にドラッグします。
- [文字列を入力] フィールドで、F2 キーを押して変数のリストを開き、[SampleString] を選択します。
- [はい、挿入します] をクリックします。
- [出力を変数に代入] フィールドで、[nPromptAnswer] を選択します。
- [保存] をクリックします。
-
数値のリストの最初の項目に数値をコピーし、VBScript に渡します。
- [リスト] > [項目を追加] アクションをダブルクリックまたはドラッグして、最後の行として [エラー ハンドラー: キャッチ] アクションの下にドラッグします。
- [リスト変数] フィールドで、[lNumbersForPi] を選択します。
- [追加する項目] フィールドで、[nPromptAnswer] を選択します。
- [保存] をクリックします。
-
[VBScript] > [開く]
アクションを使用して、Visual Basic のソース コードを指定します。
- [VBScript]、[開く] アクションをダブルクリックまたはドラッグして、最後の行として [エラー ハンドラー: キャッチ] アクションの下にドラッグします。
- [VBScript] オプションで、[手動インポート] を選択します。
-
次のコードをコピーし、[ここにスクリプトを入力します] フィールドに貼り付けます。
Dim Arg, var1, var2 Set Arg = WScript.Arguments Function MultiplyPi(Arg) var1 = Arg(0) var2 = 3.14159 MultiplyPi = cdbl(var1)*var2 End Function
- [保存] をクリックします。
-
[VBScript] > [関数を実行]
アクションを使用して、スクリプトを実行します。
- [VBScript]、[関数を実行] アクションをダブルクリックまたはドラッグして、最後の行として [エラー ハンドラー: キャッチ] アクションの下にドラッグします。
- [実行する関数の名前を入力します (任意)] に「MultiplyPi」と入力します。
- [パラメーター (任意)] フィールドで、[lNumbersForPi] 変数を選択します。
- [出力を変数に代入 (任意)] フィールドで、[SampleString] を選択します。
- [保存] をクリックします。
-
[VBScript] > [閉じる]
アクションを使用してセッションを終了します。
- [VBScript]、[閉じる] アクションをダブルクリックまたはドラッグして、最後の行として [エラー ハンドラー: キャッチ] アクションの下にドラッグします。
- [保存] をクリックします。
-
VBScript で生成された回答を画面に出力します。
- [メッセージ ボックス] アクションをダブルクリックまたはドラッグして、最後の行として [エラー ハンドラー: キャッチ] アクションの下にドラッグします。
- [表示するメッセージを入力] フィールドに「Pi times your number is: 」と入力し、F2 を押して、変数のリストを開きます。[SampleString] を選択します。
- [はい、挿入します] をクリックします。
- [保存] をクリックします。
-
エラーが発生した場合はユーザーに通知し、Bot を適切に終了させます。
- [エラー ハンドラー: [AllErrors をキャッチ] アクションを 1 回クリックして、Bot でハイライト表示されるようにします。
- [メッセージ ボックス] アクションをダブルクリックまたはドラッグして、最後の Bot アクションとして挿入します。
- [表示するメッセージを入力] フィールドに、「Bot failed. Please be sure to enter only numbers.」と入力します。
- [保存] をクリックします。
-
[リスト] タブをクリックして、コードをテキストとしてのみ表示します。
コードは次のようになります。
Start Error handler: Try Prompt: For value during bot execution and assign the value $SampleString$ String: To number Convert string $SampleString$ to a number and assign it to number variable $nPromptAnswer$ List: Add item $nPromptAnswer$ to $lNumbersForPi$ VBScript: Open VBScript manual script of 7 lines VBScript: Run function "MultiplyPi" VBScript: Close VBScript "Default" Message box "Pi times your number is: $SampleString$" Error handler: Catch AllErrors Message box "Bot failed. Please be sure to enter only numbers." End
- Bot を実行します。
-
Bot が正常に実行されると、プロンプト ウィンドウが開き、値を入力すると、メッセージ ボックスに計算された数値が表示されます。メッセージを表示し、[閉じる] をクリックします。
Bot を再度実行し、数字の代わりに文字を入力することで Bot の復元性をテストできます。