3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【UiPath】Javascript を実行する方法

Last updated at Posted at 2023-10-24

はじめに

  • 本記事では、UiPath で Javascript を実行する方法を紹介します。
  • 記事の内容は、個人の見解または確認結果であり、UiPath の公式見解ではありません。
  • 製品仕様や参考画像は 23.10 バージョンのもので構成しています。

目次

# 1)JSスクリプトを挿入
# 2)CScript.exe からキックする
# 3)HTML からキックする

1)JSスクリプトを挿入

UiPathでもっとも簡単にJSを実行するなら「JSスクリプトを挿入」アクティビティがお勧めです。

■使い方

  1. 「アプリケーション/ブラウザーを使用」を配置し、ブラウザ(適当なページ)を認識させます。
  2. 入力したいUI要素、JSファイルのパス、引数、出力プロパティを指定します。

次のキャプチャは入力引数なしの単純なファンクション実行の例です↓↓

javascriptのテスト6.JPG

UI要素は変数宣言しなくても、JSファイル側は element の記述で扱えます。

例えば、ガイド上の説明文を一つUI要素として認識させて実行してみます↓

javascriptのテスト7-0.JPG

element.innerHTML を返却してログ↓

javascriptのテスト7-1.JPG

「アプリケーション/ブラウザーを使用」で認識させる対象はブラウザでなくてはなりません。
UI要素の引数をもちいない、単純なファンクションであっても実行エラーとなります。
javascriptのテスト8_シンプルに発火させるのでもブラウザ以外はできない.JPG

2)CScript.exe からキックする

上の記事を参考に、以下の内容のJSファイル(テスト.js)をつくります。
(表示文(「テスト本文です。」)を記載した file.txt もあわせて作成します。)

//必要なオブジェクトを読み込み
var stream = new ActiveXObject("ADODB.Stream");

//ファイルの種類を指定。1:バイナリ、2:テキスト
stream.Type = 2;

//文字コードを指定
stream.charset = "UTF-8";

//ストリームを開く
stream.Open();

try {
  //ファイルを読み込む
  stream.LoadFromFile("file.txt");

  //ファイルから全ての文字列を取得する
  var str = stream.ReadText(-1);

  //文字列を表示
  WScript.Echo(str);
} catch (exception) {
  //エラーメッセージを表示
  WScript.Echo("file.txt is not found.");
}

//ストリームを閉じる
stream.Close();

コマンドプロンプトにて「cscript テスト.js」を実行↓

javascriptのテスト9.JPG

コンソール上、「テスト本文です。」と表示されました。
これと同様のことを UiPath でおこなうには「PowerShell を呼び出し」アクティビティなどを使います。

javascriptのテスト10.JPG

「PowerShell を呼び出し」アクティビティでスクリプトを実行する際は、

  • TypeArgument :「String」
  • スクリプト入力のチェック:ON
    に指定するのがポイントです。

3)HTML からキックする

HTML と「カスタム入力」アクティビティをもちいて Javascript を実行します↓

[テスト.html]

<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>サンプルHTML</title>
</head>
<body>
<form>
<input type="button" value="実行" onclick="returnName()">
<input type="text" id="textbox" value="">
</form>
<script>

//Javascript を記述する
function returnName() {
    var uname = document.getElementById("textbox").value;
    window.external.setResult(uname + "です。");
    return;
}

</script>
</body>

「カスタム入力」アクティビティを配置し、HTMLと出力プロパティを指定するだけ!
window.external.setResult({ここに指定した値をワークフローに返却できます});

ワークフローを実行するとHTMLがポップアップ表示されます。

javascriptのテスト12.JPG

コンテンツを許可し、値を入力>「実行」ボタンを押下

javascriptのテスト13.JPG

出力コンソールでスクリプトの実行結果が確認できます。

javascriptのテスト11.JPG

まとめ

いかがでしたでしょうか。
いずれも標準アクティビティで実現する方法でご案内しましたが、
UiPath の Marketplace のコンポーネントの取得・利用が可能な場合、
JQuery の実行アクティビティなども無料で使えそうなのでお試しいただくとよさそうです。
最後までお読みいただきありがとうございますm(_ _)m

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?