Gmail 送信先 スプレッドシートから取り込み

初心者です。
スプレッドシートから読み込んだメールアドレス(複数)をGmailの宛先に書き込む、
というロボットを作成したいのですが、変数の型でつまづいてしまっています。

現状
①スプレッドシートからメールアドレスを読み込み(GetCustomer 変数の型:String[])
②Gmailの宛先に書き込み
としていますが、以下のようにエラーが出ます。
どのように変更すれば解決するでしょうか。

こんにちは

①スプレッドシートからメールアドレスを読み込み(GetCustomer 変数の型:String[])

型がobject配列( object[] )のようです。
当該プロパティ欄でCtrl+k で変数を作成すると、最適な型で変数が生成されますので、こちらを活用いただればと思います。

ご回答ありがとうございます。
Objectに設定するとGmailを作成する際に、以下のようにエラーが出てしまうのですが、こちらの解決方法についてご存じでしょうか。

ご回答ありがとうございます。
Objectに設定するとGmailを作成する際に、以下のようにエラーが出てしまうのですが、こちらの解決方法についてご存じでしょうか。

こんにちは

送信先のプロパティがString配列型なので、Object配列からString配列に変換してあげる必要があります。
For Eachアクティビティでループを組んでも良いと思いますが、以下の式でも変換できると思います。(代入アクティビティをお使いください。)

arrString = arrObject.AsEnumerable.Select(function(r) r.toString).toArray

正しく動きました!どうもありがとうございます。大変助かりました。

1 Like

追記ですみません。

arrString = arrObject.AsEnumerable.Select(function(r) r.toString).toArray
こちらの式について教えていただきたいです。
この式でObject配列からString配列に変換できましたが、
ObjectからString配列に変換する場合はどのように変換すればよいのでしょうか?

スプレッドシートから取得したいと思っている項目が配列のものとセル単体のものがあるので、どちらも教えていただきたいです。

こんにちは

object型は多様な型を包含できますので、中身の状況によりけりなのですが、文面から推定しますと
arrString = {obj.toString()}

でいかがでしょうか?(項目はひとつでよいですか?)

こちらのように設定しているのですが、スプレッドシートからセルを取得し、BCCに格納すると
「電子メールアドレスに必要な形式ではありません」とエラーが出てしまいます。

こんにちは

中身の文字列が「正しいメール形式ではない」のではないでしょうか?
いらぬスペースや改行がついている、そもそも中身が空文字列であるとか。
まずはこのあたりを確認いただくのが良いかと思います。
(WriteLineで書き出すか、Break pointを設定して変数の中身を確認するのがよいかと)

1 Like