復元性を備えた Bot での VBScript パッケージの使用例

Microsoft Visual Basic スクリプトを実行する Bot をビルドします。Try/Catch パッケージを使用して、Bot が失敗した場合に適切に終了し、クラッシュに対する復元性を高めます。復元性を備えた Bot では、現在の Bot にエラーが発生した場合でも、スケジュールされてキューに置かれている Bot を続行できます。

この Bot では、ユーザーに数値の入力を求めます。Bot は、この数値を Microsoft Visual Basic スクリプトに渡して pi を乗算し、値を返します。その後、Bot は結果をユーザーに報告します。[VBScript] アクションを使用して、外部スクリプトをインポートするか、Bot に直接入力できます。この例では、スクリプトを手動で入力します。また、エラー処理を追加することで、Bot の復元性が強化されます。

手順

  1. Bot を作成します。
    1. 左側のペインで [オートメーション] をクリックします。
      選択可能な Bot とフォームのリストが表示されます。
    2. [新規作成] > [Bot] をクリックします。
    3. Bot の名前 MultiplyPi を指定します。
    4. フォルダーの場所として「Bots\TaskBotExample」を入力します。
    5. [作成と編集] をクリックします。
  2. 変数を作成します: nPromptAnswer:
    • タイプ: 数字
    • 名前: nPromptAnswer
  3. 変数を作成します: lNumbersForPi:
    • タイプ: リスト
    • サブタイプ: 数字
    • 名前: lNumbersForPi
  4. [保存] をクリックします。
  5. [プロンプト] > [値の場合] アクションを使うと、ユーザーに数値を尋ねることができます。
    1. [アクション] ウィンドウの [表示] リンクをクリックします。
    2. [プロンプト]、[値の場合] アクションをダブルクリックまたはドラッグして、Bot に追加します。
    3. [ウィンドウ キャプションを表示] フィールドに「Any Number」と入力します。
    4. [メッセージを表示] フィールドに、次のように入力します: Enter any number to multiply by pi
    5. [値を変数に代入] フィールドで、[SampleString] を選択します。
  6. [保存] をクリックします。
  7. ユーザーが数値を入力していないなどのエラーが発生した場合に Bot を適切に終了するには、[エラー ハンドラー] > [試行] アクションを使用します。
    1. [エラー ハンドラー] > [試行] アクションをダブルクリックまたはドラッグします。
    2. [プロンプト] > [値の場合] アクション[エラー ハンドラー] > [試行] アクションの下にドラッグします。
  8. [保存] をクリックします。
  9. [SampleString] (文字列) を数値に変換します。
    1. [文字列] > [数値に変換] アクションをダブルクリックまたはドラッグして、最後の行として [エラー ハンドラー: キャッチ] アクションの下にドラッグします。
    2. [文字列を入力] フィールドで、F2 キーを押して変数のリストを開き、[SampleString] を選択します。
    3. [はい、挿入します] をクリックします。
    4. [出力を変数に代入] フィールドで、[nPromptAnswer] を選択します。
  10. [保存] をクリックします。
  11. 数値のリストの最初の項目に数値をコピーし、VBScript に渡します。
    1. [リスト] > [項目を追加] アクションをダブルクリックまたはドラッグして、最後の行として [エラー ハンドラー: キャッチ] アクションの下にドラッグします。
    2. [リスト変数] フィールドで、[lNumbersForPi] を選択します。
    3. [追加する項目] フィールドで、[nPromptAnswer] を選択します。
  12. [保存] をクリックします。
  13. [VBScript] > [開く] アクションを使用して、Visual Basic のソース コードを指定します。
    1. [VBScript]、[開く] アクションをダブルクリックまたはドラッグして、最後の行として [エラー ハンドラー: キャッチ] アクションの下にドラッグします。
    2. [VBScript] オプションで、[手動インポート] を選択します。
    3. 次のコードをコピーし、[ここにスクリプトを入力します] フィールドに貼り付けます。
      Dim Arg, var1, var2
      Set Arg = WScript.Arguments
      Function MultiplyPi(Arg)
        var1 = Arg(0)
        var2 = 3.14159
        MultiplyPi = cdbl(var1)*var2
      End Function
  14. [保存] をクリックします。
  15. [VBScript] > [関数を実行] アクションを使用して、スクリプトを実行します。
    1. [VBScript]、[関数を実行] アクションをダブルクリックまたはドラッグして、最後の行として [エラー ハンドラー: キャッチ] アクションの下にドラッグします。
    2. [実行する関数の名前を入力します (任意)] に「MultiplyPi」と入力します。
    3. [パラメーター (任意)] フィールドで、[lNumbersForPi] 変数を選択します。
    4. [出力を変数に代入 (任意)] フィールドで、[SampleString] を選択します。
  16. [保存] をクリックします。
  17. [VBScript] > [閉じる] アクションを使用してセッションを終了します。
    1. [VBScript]、[閉じる] アクションをダブルクリックまたはドラッグして、最後の行として [エラー ハンドラー: キャッチ] アクションの下にドラッグします。
  18. [保存] をクリックします。
  19. VBScript で生成された回答を画面に出力します。
    1. [メッセージ ボックス] アクションをダブルクリックまたはドラッグして、最後の行として [エラー ハンドラー: キャッチ] アクションの下にドラッグします。
    2. [表示するメッセージを入力] フィールドに「Pi times your number is: 」と入力し、F2 を押して、変数のリストを開きます。[SampleString] を選択します。
    3. [はい、挿入します] をクリックします。
  20. [保存] をクリックします。
  21. エラーが発生した場合はユーザーに通知し、Bot を適切に終了させます。
    1. [エラー ハンドラー: [AllErrors をキャッチ] アクションを 1 回クリックして、Bot でハイライト表示されるようにします。
    2. [メッセージ ボックス] アクションをダブルクリックまたはドラッグして、最後の Bot アクションとして挿入します。
    3. [表示するメッセージを入力] フィールドに、「Bot failed. Please be sure to enter only numbers.」と入力します。
  22. [保存] をクリックします。
  23. [リスト] タブをクリックして、コードをテキストとしてのみ表示します。
    コードは次のようになります。
    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
  24. Bot を実行します。
  25. Bot が正常に実行されると、プロンプト ウィンドウが開き、値を入力すると、メッセージ ボックスに計算された数値が表示されます。メッセージを表示し、[閉じる] をクリックします。
    プロンプト ウィンドウへの値の入力
    メッセージ ボックスに表示される計算値
    Bot を再度実行し、数字の代わりに文字を入力することで Bot の復元性をテストできます。