入力ダイアログで入力した複数行テキストが改行されない

入力ダイアログで、改行された複数行のテキストを入力すると
改行が無視されて、変数(String)に格納されます。(当然ですが)

・実現したいこと
複数行のテキストを入力して、テキスト等のファイルに(改行ありで)出力したい。
入力するテキストに規則性はなく、行末の文字をキーにするなどはできないです。

何か、良い方法があればご教示頂けますでしょうか。
よろしくお願いします。

こんにちは

改行反映されると思いますが、反映されませんでしょうか?

他の方法としてはUiPath.Form.Activities packageを使うと良いかもしれません(TextAreaが用意されていますので)

Hi @k_tak

Welcome to UiPath Forum.

You can use either vbCrLf or Environment.NewLine alone with the specific variable to achieve this.

Thank you.

ご確認いただき、ありがとうございます。

>改行反映されると思いますが、反映されませんでしょうか?
はい。改行されず、そのまま変数をテキストファイルに出力すると1行になってしまいます。

>他の方法としてはUiPath.Form.Activities >>packageを使うと良いかもしれません(TextAreaが用意されていますので)
フォームを作成し、改行ありの文を入力すると、改行コード(\n)を付加してくれましたが
テキストファイルに出力する時に余計なヘッダ情報?も出力され、
\nが、ただの文字列として扱われて1行になってしまいます。。。

やりたいことに近づいてきている気はするのですが、、もう少し考えてみます。

こんにちは

どうやらSystem.Activities packageのバージョンによって挙動が違うみたいですね。
手元の環境ですと

System.Activities 20.10.6 ですと改行が反映され
System.Activities 21.10.3 ですと改行が反映されませんでした。

もしダウングレード可能ならそのような選択もあるかもしれません。

\nが、ただの文字列として扱われて1行になってしまいます。。。

こちらについては、例えば代入アクティビティで

yourString = yourString.Replace("\n",vbCrLf)

としてあげれば、\nが改行になります。

こんにちは
度々すみません。

テキストファイルに出力する時に余計なヘッダ情報?も出力され、

結果がJSONで返ってきますので、これを処理する必要があります。
UiPath.WebApi.Activities Package内にJsonを扱えるアクティビティがあるので
これを使うと良いかと思います。(これを使うと上記の様に\nを置換する必要はありません)

img20211228-4

Sequence1.xaml (7.9 KB)

> どうやらSystem.Activities packageのバージョンによって挙動が違うみたいですね。
→バージョンによる違いなんですね。知らないとハマりそうな問題です。。

ご教示頂いた、uipath.webapi.activities の「JSONを逆シリアル化」で
無事に改行を保ったままテキスト出力することが出来ました!

助かりました、ありがとうございます!

1 Like

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