• ベストアンサー

エクセルでメール送信

エクセルのワークシートが複数あります。 VBAで  ActiveWorkbook.SendMail Recipients:="xxxxxx@xxx.ne.jp" とすると、ワークブックがメールに添付され送信されますよね。 これを、ワークブック全体ではなく、特定のシートだけをメールに添付して送信したいのですが・・・ 送信側はワークブックにて入力用シートでデータの入力をし、送信用のシートを完成させます。受信側では入力用シートは不要です。 すいません、このような以前にもありましたか? どなたか教えてください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

SendMailは使ったことがないので以下は想像です。参考意見として見て下さい。 SendMailはブックの送信を行うわけなので、送りたいシートだけのブックを作ればいいと思いましたが・・・ 1.送信側のワークブックで送信指示(マクロが起動。以下はマクロ)      ↓ 2.送信側のワークブックの送信用シートを「新しいブック」にコピー      ↓ 3.送信用シートが複数あれば「新しいブック」に繰り返しコピーする      ↓ 4.コピー完了後、送信用の「新しいブック」をSendMailで送信      ↓ 5.送信用の「新しいブック」を削除 入力用シートと送信用のシートに何らかの関係(式)があれば、送信用シートに値を貼り付けることで解決できそうです。 うまくいくような気もしますが・・・ダメかな。

masayo
質問者

お礼

ありがとうございます。 やっぱり、そういう方法がいいですよね。やってみます。 受信側にもわかりやすいシートに作りなおした方がいいですし。 がんばってみます。

関連するQ&A