• ベストアンサー

エクセルでメール送信

エクセルのワークシートが複数あります。 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

  • エクセルVBAで、シートのみを本文として送信する方法

    エクセルのブックを送信する場合は、 ActiveWorkbook.SendMail Recipients:="***@***.com" で出来ますが、シートのみを本文として送信するのは、VBAでは出来ないのでしょうか? メニューからですと、「ファイル」→「送信」→「メールのあて先」で、シートのみを本文として送信出来るのですが…。

  • Excelマクロでメールを送る時

    いつもお世話になっております。 EXCELで、ワークシートのある部分に"MAILADDRESS"という名前を付け、 そこにメールアドレスを入れます。 同じブック内の別ワークシートをcsv形式で保存して、"MAILADDRESS"に入力されている メールアドレスにおくるというVBAの命令を書いて下記の通りとしてみました。 プログラムはエラーの表示がされず終わるのですが、メールを送ってくれません。 何故でしょうか?教えて下さい。 MAILADDRESSのセルはデータの最後に"EOL"という文字列を入力しています。 Dim R As Range For Each R In Range("MAILADDRESS") If R.Value <> "EOL" Then ActiveWorkbook.SendMail Recipients:=R.Value End If Next R Excelのバージョンは2002 SP3です。

  • EXCELの一部のシートのみを添付ファイルとしてメール送信する方法?

    EXCELでシートのみを添付ファイルとしてメール送信する方法を考えています。 シート「1」、シート「2」・・・シート「30」 といったような構成のEXCELブックがあり、 さらにシート「メール送信」というシートを設け、 そのシートのみを添付ファイルとしてメール送信する方法です。 BASP、SendMailメソッド、アドイン、いろいろな方策は見当たりましたが、 なかなか「シートのみを添付ファイルで送信」といったような実例が見当たらず困ってしまっています。 やはりVBAで考えるのが早いでしょうか? もしVBAでやるとすれば、みなさんならばどういったものになるのかぜひ教えてください。 その他、いい方策があれば教えて頂きたいです。 具体的なイメージとしてはこうです。 シート「メール送信」のA1セルにシート「5」のA1セル(売上)をリンク シート「メール送信」のB1セルあたりにコマンドボタン「メールを送信する」 添付されるシートには数式ではなく、値としてデータが挿入されている といったような運用方法です

  • エクセルVBAでメールの送信

    エクセルVBAで使って、自動メール送信は出来るでしょうか? 名簿一覧のワークシートには氏名とメールアドレスが記入されていますが、VBAによってすべての人にメールを送信することが出来るでしょうか。

  • エクセルからの送信

    エクセルのツールバーにある送信ボタンをクリックすると 作成中のワークシートやブックは送信できますが 本文を入力することができません。 ワークシートはあくまでも添付ファイルとして送りたいのです。 いちいちシートを保存して、メールソフトを立ち上げて、添付して・・・ という作業を省略しつつ 本文(たとえば挨拶文やら連絡文)を書き込む方法を 教えていただければ幸いです。

  • マクロでエクセルをメール送信したい。

    最近、マクロを始めたのですが、マクロでActiveWorkbook(エクセル) を添付して、メール送信までを出来ないかな?と思っています。宛先 はエクセルの別シートにリストで入力しておき、VLOOKUPで参照して、 必要な人に配布したいのです。色々調べたのですが、よくわかりま せん。簡単なやり方があれば教えていただけませんか? メールソフトはOutlook、OSはWindowsXPです。よろしくお願いします。

  • エクセルVBAでメール送信

    エクセルのワークシートから、メニューの、「ファイル」、「送信」、「あて先」で現在のシート記載事項をメール本文として送信できますが、その際、ワークシート上のオブジェクトを自動で削除するためにはどうしたらよいでしょうか? やりたいことは、ワークシート上のドロップダウン等で選んだ定型の文言(ドロップダウン操作により、自動的にシート上に表示されます。)だけを任意のアドレスにメール送信したいということです。現状ではドロップダウン自体やボタンまでメールに添付され、手動で削除しなくてはなりません。

  • EXCEL VBAで→PDF化→自動メール送信

    現在EXCELVBAでプリンターに出力された納品書を毎日50社ぐらいの顧客に手動FAXにて送っています。 通信費削減のために、ファイルをPDF化してEMAIL送信出来るようにしたいと思っています。 添付するファイルがEXCEL BOOKのままであれば以下のコードで出来るのですが、PDF化するやり方が分かりません。 ActiveWorkbook.SendMail Recipients:="email@*****.co.jp", _ Subject:="test" 10万円程度であれば、Adobe Acrobatなどのソフト購入してでも実現させたいと思っています。 又、ユーザーの操作はメーラーの「送信」ボタンをクリックする程度に留めたいです。 よきアドバイスよろしくお願いいたします。

  • PHP、PEARでのメール送信での送信確認

    メール送信フォームを書籍やサイトを参考に作成しています。 下記のスクリプトで送信に成功したのですが、このままでは 「送信に成功しました」とも「送信に失敗しました」とも表示されません。 どのようにしたら、そのようなメッセージが出せるのでしょうか? <?php require_once("Mail.php"); $params = array( "host" => "xxx.xxx.xx", "port" => 25, "auth" => false, "username" => "xxx@xxx.xxx.xx", "password" => "xxxxxxxxxx" ); $mailObject = Mail::factory("smtp", $params); $recipients = "xxx@xxx.xxx.xx"; $headers = array( "To" => "xxx@xxx.xxx.xx", "From" => "xxx@xxx.xxx.xx", "Subject" => "Test Mail" ); $body = "This is test mail"; $mailObject -> send($recipients, $headers, $body); ?> よろしくお願いします。

    • ベストアンサー
    • PHP
  • エクセル vba アウトルックで自動メール送信

    vba勉強中です。 初心者のため質問の仕方に不備ありましたらご了承ください。 在庫管理をエクセルで行っています。 使用した日に使用数を入力し当月在庫を管理しているシートがあります。 I列の当月在庫がH列の管理値を下回ったらアウトルックで自動メール送信を考えています。 在庫管理したい品目は40個ほどあります(添付しているファイルは5個としています。) こちらのサイト(https://fastclassinfo.com/entry/vba_outlook_sendmail/)を参考にしていますが、管理値を下回ったらという部分が勉強不足で作成できません。 お手数をおかけしますがお分かりになられる方、よろしくお願い致します

専門家に質問してみよう