a.kmni
(komei)
1
お世話になっております。
どなたかご教示いただけますと幸いです。
以下が実行したいこととなります。
①Excelで作成した宛先リスト(テスト上5社を入力)を使用
②事前に"company"として取得した会社を宛先リストから選択(テスト上3社を選択)
③宛先リスト内の「会社」「担当者」「メールアドレス」を抽出
④「会社」「担当者」をテキストで作成したメールひな形に代入
⑤③の「メールアドレス」、④で作成したメールテキスト本文を使用してメール送信
メッセージボックス上ですと、5社すべてがメッセージボックスで出力されます。
テキストファイルに書き込みですとリスト内の一番下の一社のみ書き込みされます。
また、メール本文には一番下の一社のみが反映されてしまします。
5社のうちの3社が指定できていない?のか書き込みをする際の式がおかしいのかわからず困っております。
恐れ入りますがご教示いただければと思います。
GT_Ropa
(Hubert Ropa)
2
@a.kmni お疲れ様です。
問題はロープです。
のアクティビティは毎回違う行を使います。
だから毎回ファイルに書き込みます、最後で最後の会社名だけが残るです(ファイルに書き込みは毎回ファイルを消して新しいく内容書き込みます。
1。繰り返し (データ テーブルの各行)の中で全部のワークフローはif
の中に移動してください。
2。if
の中で最後のアクティビティはassign
にしてください。
mailText + 会社 + " " + 担当者 + " " + メールアドレス + Environment.NewLine
3。繰り返し (データ テーブルの各行)の外でファイルに書き込みを使ってください。

a.kmni
(komei)
3
GT_RopaHubert Ropa
こんにちは、いつもありがとうございます。
自分なりに作成してみたのですが、見ていただけないでしょうか?
①範囲を読み込み(宛先リスト)
②DTをフィルター(前に抽出した会社でフィルター)add_master→select_com
列"会社" 操作"Contains" 値"company"
③会社、担当者、メールアドレスを抽出
④メッセージボックスはただのlogです
⑤テキストファイルに書き込みはただのlogです
⑥テキストを読み込み(メールテキストひな形)
⑦それぞれの値を代入
といった感じで今回希望する流れ(各会社にそれぞれのファイル添付、テキスト内容)にすることはできました。
何かこちらのフローで懸念点はありそうでしょうか?
またいただきました回答内容でも後程試してみます!
GT_Ropa
(Hubert Ropa)
4
@a.kmni お疲れ様です。
1.フィルターのところは少し心配します。companyは一つの値ではないでしょうか?Arrayであればとちゃんとフィルターできなさそうです。前のif
使った方がいいと思います。
2.この二つアクティビティはループの中に必要はないです。

3.ループ内で割り当てる変数 (会社名、担当者、メールアドレス) は、ループが繰り返されるたびに再割り当てされます。 現在の設定では、ループを終了すると、データ テーブルの最後の行の変数が残ります。
- テンプレートが一度にすべての会社に送信されることを意図している場合は、会社名 に会社名を追加する必要があります。
企業ごとにテンプレートが必要な場合は、ループの反復ごとにテンプレートを作成する必要があります。
添付のワークフローの例を見て、それでもわからない場合は質問してください。
全社一斉に.xaml (12.7 KB)
各社テンプレ.xaml (12.7 KB)
どうぞよろしくお願いいたします。
a.kmni
(komei)
5
GT_RopaHubert Ropa
お世話になっております。
ご確認いただきありがとうございます。
1.フィルターのところは少し心配します。companyは一つの値ではないでしょうか?Arrayであればとちゃんとフィルターできなさそうです。前のif
使った方がいいと思います。
companyは別のcsvから取得したメールを送信したい会社名です。
いただいたフローですと、直前のデータテーブルから直接指定で{“A”, “C”, “E”}と右辺にしているのでArrayにできているのかなと思うのですが、直接指定ではなく、companyとして指定したい場合、Arrayにできないのですがどうしたらいいのでしょうか?
companyはString型です
2.この二つアクティビティはループの中に必要はないです。
こちらは削除します。
3.ループ内で割り当てる変数 (会社名、担当者、メールアドレス) は、ループが繰り返されるたびに再割り当てされます。 現在の設定では、ループを終了すると、データ テーブルの最後の行の変数が残ります。
ループ内の処理だとどんどん上書きされるイメージなのですね!
- テンプレートが一度にすべての会社に送信されることを意図している場合は、会社名 に会社名を追加する必要があります。
テンプレートは一つで、それを活用して企業毎に置き換えて今回のテスト上ですと3種類のメールができれば大丈夫!といったかんじです。

その日ごとでメールを送信する会社が変わるので事前に取得したcompanyという変数で抽出できればと考えておりますが難しいでしょうか?
GT_Ropa
(Hubert Ropa)
6
それでは、一回ロボット動かしたら一つのテンプレートを作ることになりました?そうであればフィルターだけで十分です。
このワークフローから上に書いてたアクテビティを消せば大丈夫そうです。
一つの会社には一人担当者ずっとであればだと下のワークフローで行けると思います。
一つの会社行.xaml (13.4 KB)
1 Like
a.kmni
(komei)
7
GT_RopaHubert Ropa
いつもありがとうございます!
それでは、一回ロボット動かしたら一つのテンプレートを作ることになりました?そうであればフィルターだけで十分です。
ロボットを動かしましたら、テンプレートを使用して会社毎にメール本文を作成することができました。(メールの下書き保存3件、すべて会社毎の内容でOKでした)
一つの会社には一人担当者ずっとであればだと下のワークフローで行けると思います。
一つ確認させていただきたいのですが、添付していただいたフローでも動作の確認をしましたが特に変わらず希望通りに動かすことができました。ただ、下記の式の意味?がよくわからないので教えていただけますと幸いです。
dt2.RowCount > 0 AndAlso dt2.RowCount < 2
GT_Ropa
(Hubert Ropa)
8
@a.kmni
お疲れ様です。
一つ確認させていただきたいのですが、添付していただいたフローでも動作の確認をしましたが特に変わらず希望通りに動かすことができました。ただ、下記の式の意味?がよくわからないので教えていただけますと幸いです。
dt2.RowCount > 0 AndAlso dt2.RowCount < 2
dt2.RowCount > 0
データ テーブルの行数を確認します。 行が 0 の場合は何も処理したくありません。データ テーブルが空であることを意味します。
AndAlso dt2.RowCount < 2
また、レコードが 1 つしかないかどうかも確認します。 これは、データ テーブルに同じ名前の会社が他にもあることを意味します。
この 2 つの条件が満たされる場合、データ テーブルの最初の行の値を読み取ることができます。
a.kmni
(komei)
9
[quote=“GT_Ropa, post:8, topic:509691”]
こんにちは。
いつもありがとうございます。
ご説明いただきありがとうございます。
ということは会社に担当者が2人以上いて、同一会社の行が複数存在する場合には設置したほうがいい式、ということですね。
今回の場合は宛先リストには各会社、担当者1名・1アドレスなので、フィルターverのフローでやっていきたいと思います。
今後、複数担当者が発生する場合には教えていただいたフローを活用させていただきたいと思います!
ご丁寧にありがとうございました!!
1 Like
system
(system)
Closed
10
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.