Send mailアクティビティのattach fileでまとめて添付ファイルを指定する方法に関して

いつもお世話になっております。
只今send mailアクティビティのattach fileに関して躓いております。
行いたいことを詳しく説明させていただくと、

あるフォルダに入っている複数(一定数では無い)のwordファイルをまとめて一つのメールに添付して送信する。

ということです、自分なりに以下のように行ったのですが上手く行かず躓いております。
ご教授お願い致します。

フォルダの中にある3つのwordファイルをfor eachアクティビティで絶対パスを取得し1つの絶対パス毎に改行を入れString型で保持、
for eachアクティビティが終わってから1つのsend mailアクティビティのattach fileにwordの3つの絶対パスが入ったString型をin。

可変数のファイル添付ですね。
Attachmentプロパティをワークフローで追加するようなつくりにはなっていないみたいです。
(そういえば作ったことなかったな・・・)

ちなみに海外フォーラムでこんな回答を見つけました。
Invoke Methodを使って AttachmentオブジェクトにAddする処理をループさせているようです。

1 Like

添付するファイルの上限数を決定できるのであれば、
あらかじめ [Attachments]プロパティに添付する最大のファイル数を変数で定義しておいて、
[Assign]で変数にファイルパスを設定してやると、設定したファイル数だけ添付できるようです。
設定しない部分は空文字("")だと「そんなファイル無いです」エラーがでるので、
明示的にnullである必要がありそうです。

↓ワークフロー設定

↓結果

※ベストプラクティスではないかもです。

メールに添付するファイルのみを別のフォルダにコピーなり、移動なりして、
添付したいファイルのみが格納されているフォルダを用意します。
そのフォルダを圧縮して添付すればファイルの数がいくつでも対応できると思います。

絶対圧縮したくないという場合には対応できませんが…

詳しい解説ありがとうございます。
海外フォーラムの方を試してみたのですがInvoke method内のAttachmentsオブジェクトのAddメソッドでエラーが出てしまいできなかったのですが、
後述して頂いた内容で試してみたところ出来ました。

少し余談になってしまうのですが、
そもそもこの様なフォルダ内のファイル全てをメールに添付する使い方は余りしないですよね、
1つのフォルダにまとめ→圧縮→送信が一般的な行い方なのかなと…質問した私が少し馬鹿だった様な気もします…

兎も角色々教えて頂きありがとうございました。

解説ありがとうございます。
canseさんの言う通りでしてフォルダ圧縮→添付→送信が一般的な行い方だと私も思います、
絶対に圧縮しないという制限は特に設けておりませんので上記の方法で行いたいと思います。
ありがとうございました。