過去の桐井戸端BBS (桐ver.9)
24643 一括処理のメール送信コマンドで複数の添付ファイルを送信するときエラーになる おっさん 2004/02/07-22:53
おっさんです。
また教えてください。

一括のメール送信コマンドです。
複数の添付ファイルを送信する場合ですが、下記のように書き込んでいますがエラーになります。

メール送信 [宛先ML],CC=[CC],BCC=[BCC],件名=[件名],本文=[本文],添付ファイル={[F1],[F2],[F3],[F4],[F5],[F6],[F7],[F8],[F9],[F10]},終了状態=&OK

どうすればいいのでしょうか。
ご指導ください。


24653 コマンドにエラーはないと思います 佐田 守弘 2004/02/08-17:37
記事番号24643へのコメント
おっさんさん
 >メール送信 [宛先ML],CC=[CC],BCC=[BCC],件名=[件名],本文=[本文],添付フ
 >ァイル={[F1],[F2],[F3],[F4],[F5],[F6],[F7],[F8],[F9],[F10]},終了状態=
 >&OK
ですが、コマンドの書式に文法エラーはないと思います。

従って、考えられる原因は、データにエラーがないかと、メール設定などにエラーがないかどうかです。

前回の質問
「メール送信コマンド-おっさん(1/26-17:19)No.24407」
で、メール設定の問題はクリアしていると思いますから、多分原因は表データの方にあるかと推定されます。

しかしメールアドレスや添付ファイル名が書かれている表の中身は、
我々第三者には解りませんので、どこにエラーがあるかは推定のしようがありません。

一般論的にエラーのおそれがある場所を言えば、次の通りです。
・[宛先ML]、[CC]、[BCC]などには正しいアドレスが書かれていますか?
・添付ファイル名を記録している[F1]〜[F10]には、全て正しいファイル名が書かれていますか?
 他のフォルダのファイルには、フルパス名が記載されていますか?
です。

佐田守弘(KS-00119)
24662 Re:コマンドにエラーはないと思います おっさん 2004/02/08-23:50
記事番号24653へのコメント
佐田 守弘さんこんばんは。

送信内容には間違いはないのですが、
添付ファイルを選ぶときには入力支援ボタンで、フルパスで指定しています。

よろしくお願いいたします。
24663 Re:コマンドにエラーはないと思います 佐田 守弘 2004/02/09-00:44
記事番号24662へのコメント
おっさんさん
 >送信内容には間違いはないのですが、
 >添付ファイルを選ぶときには入力支援ボタンで、フルパスで指定しています。
から考えると、ファイル名の記述にはエラーがなさそうですね。

後もう1つは、前回のコメントにも書きましたが、添付ファイルを指定する
項目が[F1]〜[F10]まで10個記述されていますが、これらの項目には全て
添付ファイル名が記載されていますか?

表データをもう一度確認してみて下さい。

佐田守弘(KS-00119)
24664 Re:コマンドにエラーはないと思います おっさん 2004/02/09-08:41
記事番号24663へのコメント
佐田 守弘さんおはようございます。

>後もう1つは、前回のコメントにも書きましたが、添付ファイルを指定する
>項目が[F1]〜[F10]まで10個記述されていますが、これらの項目には全て
>添付ファイル名が記載されていますか?
いいえ、すべてではありません。
いろいろなパターンを想定して、ファイル1つ、2つ〜9つと。
10個すべてでないといけないのでしょうか?
24684 多分それが原因と思います 佐田 守弘 2004/02/10-01:32
記事番号24664へのコメント
おっさんさん
 >いろいろなパターンを想定して、ファイル1つ、2つ〜9つと。
 >10個すべてでないといけないのでしょうか?

[F1]〜[f2]までしか値が書き込まれていなと、発行されるコマンドは
メール送信 <途中省略>,添付ファイル={"abc.tbl","efg.jpg",,,,,,,,}
     ,終了状態=&OK
の様にになりますね。
2つ目以降のコンマがなければ、添付ファイルは2つだけであると判断されますが
コンマがならんでいれば、添付ファイルは10個であり、しかも3つ目以降はファイル名が
ヌル値のファイルを指定している意味になりませんか?

私自身このコマンドは使ってないので、断言はできませんが、ヘルプファイルに記載されている書式や、
「メールにファイルを添付しない場合は、このパラメータを省略します。」
から推定して、不必要のコンマを入れると、添付ファイル名を指定しているものと
解釈されると考えるのが妥当ではないかと思います。

多分、貼付するファイル名だけをコンマ区切りでつなぎ合わせた文字列になる様な
コマンドの書き方にしないとだめでしょう。

佐田守弘(KS-00119)

24688 Re:多分それが原因と思います おっさん 2004/02/10-08:48
記事番号24684へのコメント
佐田 守弘さんおはようございます。
項目は[f1]〜[f10]まで作っておいて
データの入った項目のみ添付ファイルとして送信する。
こんな一括処理をどのように書けばいいのでしょうか?
よろしくご指導ください。
24699 ケースに分けて処理するしかないと思います 佐田 守弘 2004/02/10-13:48
記事番号24688へのコメント
おっさんさん
どの添付ファイル名の項目にデータが入っていて、どれに入っていないかというケースに分けて、
それぞれのケース毎にコマンドを書く方が、間違いがないと思います。
[F1]〜[F10]について始めの方から必ず記入されている事が確実なら、
以下の様に書けば良いでしょう。
-----------------------------------------------------
ケース開始
 ケース ([F10]<>#未定義)
  メール送信 [宛先ML],CC=[CC],BCC=[BCC],件名=[件名],本文=[本文]
   ,添付ファイル={[F1],[F2],[F3],[F4],[F5],[F6],[F7],[F8],[F9],[F10]}
   ,終了状態=&OK
 ケース ([F9]<>#未定義)
  メール送信 [宛先ML],CC=[CC],BCC=[BCC],件名=[件名],本文=[本文]
   ,添付ファイル={[F1],[F2],[F3],[F4],[F5],[F6],[F7],[F8],[F9]}
   ,終了状態=&OK
  <途中省略>
 ケース ([F1]<>#未定義)
  メール送信 [宛先ML],CC=[CC],BCC=[BCC],件名=[件名],本文=[本文]
   ,添付ファイル={[F1]}
   ,終了状態=&OK
 ケース その他
  メール送信 [宛先ML],CC=[CC],BCC=[BCC],件名=[件名],本文=[本文]
      ,終了状態=&OK
ケース終了
-----------------------------------------------------
この場合、もし途中に未定義の項目値があれば、エラーになります。

最悪の事を考えたら、全ての組み合わせに対してのケースでコマンドを書く必要が出て来ます。
この場合には、それぞれのケースは次の様に書くのが良いでしょう。
 ケース ([F1]<>#未定義 .and [F3]<>#未定義 .and [F6]<>#未定義)
  メール送信 [宛先ML],CC=[CC],BCC=[BCC],件名=[件名],本文=[本文]
   ,添付ファイル={[F1],[F3],[F6]}
   ,終了状態=&OK

究極の手法として、メール送信コマンド自体を計算式で作り出し、「コマンド」コマンドとして実行させる方法がないとはいいませんが、
止めておいた方が無難です(お奨めしません)。
画面表示する程度のコマンドなら、エラー覚悟で試す事もできるでしょうけど、
実際に相手先にメールを発信するコマンドを試行錯誤で試す事は、
相手先に迷惑を掛けてしまうおそれがあります。

佐田守弘(KS-00119)
24772 Re:できました おっさん 2004/02/12-07:56
記事番号24699へのコメント
佐田 守弘さんおはようございます。
結果報告が遅くなり申し訳ありません。
できました。
ケース開始でOKでした。
ありがとうございました。

戻る