抽出したワークフローでVbCrLFが使えない

初めて投稿致します。
文字列操作をする処理をSubStringsという名前で「ワークフローを抽出」しました。

改行を入れたくなったため、vbCrLf を使おうとしましたが、
「vbCrLfが宣言されていない」とコンパイルエラーが出てしまいました。

MainのワークフローではvbCrLfは使えます。
Main側ではvbと入力したところで、補間リストが表示され選択することができますが、
抽出した側では補間されませんでした。
なにか名前空間等の設定が必要なのでしょうか?

Main.xamlとSubStrings.xamlで何か違うのだろう?
と比較しようとしましたが、難しそうなので断念しました。
皆さんの知恵をお貸し頂ければと思います。
以上、宜しくお願い致します。

設定による差は判りませんが、ControlCharsにCr、Lf、CrLfがあります。自分はこちらを使っています。

Environment.NewLineってのもありますね。

1 Like

早速の情報ありがとうございます。
単純にControlCharsと代入式に記述するとコンパイルエラーになってしまうのですが

Microsoft.VisualBasic.ControlChars.CrLf

と記述するとエラーが取れました。
vbCrLf や Environment.NewLine もどこで定義されているのかを含めて記述すれば大丈夫なのだと思います。
本来ならば、省略できるはずなのでしょうが、
とりあえず、これで進めることができました。
助かりました。

1 Like

追記です。

変数の追加はエラーにならなかったので、ControlCharsの変数を追加することでもっとスマートに書けるようになりました。

1 Like

こんにちは

「ワークフローを抽出」した場合、名前空間のインポート情報が正しく設定されないことがあるようです。
#手元の2019.8の環境ですと、「シーケンス」に対して抽出するとインポート情報がスカスカでした。おそらくバグではないかと...

対処療法的には、Studioの画面の一番下にある「インポート」タブを選択し

Microsoft.VisualBasic

を入力して、追加すればvbCrLfだけで使えるようになるかと思います。
(が他の名前空間も設定されていないと思うので、抽出からやり直すか、別で新規ファイルを作成してコピー& 呼び出した方が良いかもしれません。)

1 Like

情報ありがとうございます!
名前空間のインポートはここで出来たのですね・・・またひとつ使い方を覚えることができました。
足りないものがどれだけあるのか分からないのも気持ち悪いので、シーケンスワークフローを新規に作成することで問題解消できました。
引数が多いと新規に作成するのは面倒かも知れませんが、幸い1つだけだったので、こちらの方法を選びました。

ちなみに、こちらのUiPath Studioは2019.8.0 Community Editionでした。

1 Like