実行するにはコンパイルする必要があります

これまでは問題がなかったのですが、はじめてモダンデザインで以下をやってみたところエラーとなってしまったため解決方法をご教示いただけないでしょうか。

やりたいこと
文字列の中から()内の文字列を抽出し変数へ格納

str = str.Remove(0,str.IndexOf(“(”) + 1).Remove(str.IndexOf(“)”)-1)

問題
「一行を書き込み」で上記の右辺を設定すると正しく()内の文字を抽出できているのですが、代入アクティビティを利用すると以下のエラーとなってしまいます。

エラー内容
代入: Expression Activity 型 ‘VisualBasicValue`1’ は、実行するにはコンパイルする必要があります。ワークフローがコンパイルされていることを確認してください。

試したこと
strではなく他の文字列変数を設定してみましたが、変わりませんでした。

UiPath Studio v2022.10.1

1 Like

こんにちは

モダンデザインは無関係でWindwosCompatibilityのダブルクォーテーションの問題です。
ダブルクォーテーションを以下の様に " にして試してもらえますでしょうか? (ではなく。)

str = str.Remove(0,str.IndexOf("(") + 1).Remove(str.IndexOf(")")-1)
2 Likes

確かにダブルクォーテーションを変更したらできました。
そうなると逆に、なぜ一行を書き込みではエラーがなく正しく動くのでしょうか?

こんにちは

一行書き込みでも同じと思いますよ。ダブルクォーテーションに " を使用しているのではないでしょうか?

再度確認してみましたが、やはり一行に書き込みだと以下のダブルクォーテーションでも問題なく動くのですよね。

str.Remove(0,str.IndexOf(“(”) + 1).Remove(str.IndexOf(“)”)-1)

こんにちは

手元の環境ではエラーとなりますが...
Windowsレガシープロジェクトではありませんか?

訂正
WriteLine 通りますね。他にもMessageBoxでも大丈夫そうです。
入力する式と、アクティビティに依存するのかもしれません。

1 Like

依存関係があるのですね。
当初の課題点は解決できましたので、この度はありがとうございました。
リモート環境での開発のため、いつもと同じ文字を打ったつもりがそうではなかったみたいでキーボードの入力モードも考慮して構築していこうと思います。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.