DataTable変数上で、文字列加工ができません。

動かないワークフロー

やりたいことは、下記のWebサイトの表を範囲に読み込みでDataTable変数に取得したあと、1.2.の連続実行です。

https://stats.labs.apnic.net/cgi-bin/aspop?c=JP

1.データテーブルをフィルターアクティビティで、B列をC列に、C列をB列に書き込み、書き込んだ先のC列の最初の2文字を繰り返し(各行)アクティビティで削除する。
2.更新されたDataTable変数のB列の文字列の最初の半角スペースまでの文字を削除する。

1.は正常に動いたのですが(最初の画像)
2.が正常に動きません。(2番目の画像)

2番目の画像では複数代入で

s1=row(0).ToString
num1=s1.IndexOf(" ")
s2=s1.Remove(0,num1)
row(0)=s2

を順番に実行しています。

どうも最初のs1=row(0).ToStringで、s1に何も値が入っていないようですが、対処策がわかりません。詳しい方教えてください。

こんにちは

複数代入(MultipleAssign)アクティビティはアクティビティ内の式の実行順序が
保証されないようなので、これら4つの式を4つの通常の代入(Assign)アクティビティに
分けて入力してみてください。
(あるいは一つの代入アクティビティに以下のように

row(0)= s1.ToString.Remove(0,s1.IndexOf(" ")) 

式自体をまとめてしまっても動作すると思います。)

こんにちは。
手元で一気に行ってみたところ、カウントを0未満にすることはできません。というエラーが出ました。

質問者様の代入を4つ程、単体の代入を並べて解決しました。
単体の代入でも変数「s1」に値が入らない場合はデータテーブルの値を取れていない事になりますけど、それは如何でしょうか?

こんにちは、yoichiさんの回答で解決しました。

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