「これはヤバかったな」という遅刻エピソード

エクセル表のメール送信について教えてください!
日々の業務で、得意先別に前日の出荷実績をエクセル表に入力して
複数の方にメール送信を行っています。
かなり頻繁に行っているので、作業的に手間がかかっています。
できれば、エクセル表をエントリーしたら、
表にクリックボタンを作成して、ハイパーリンクでワークシートをメール送信できないかな、
と考えています。
これができると作業効率がグンと上がります。
ハイパーリンク等でいろいろできないか試してみましたが、
知識不足からか、どうもうまくいきません。
可能でしたら、教えていただけないでしょうか。
エクセル表は2003(.XLS)
メーラーはOUTLOOK2010 を使っています。
よろしくお願いします。

A 回答 (1件)

>表にクリックボタンを作成して


VBAを使ってと云う事でしょうか。最近、同様の質問に回答しましたので参考にしてください。
https://oshiete.goo.ne.jp/qa/9036219.html

ここで、添付ファイルの問題ですが。
メール送信しているエクセルの表のファイルにボタンを配置して、送信したら
受信された方にもマクロのボタン付きのファイルが届きますよね。
表やデータ、マクロボタンを準備した管理用のファイルと
メール送信用のファイルを分けます。
管理用のファイルにあるボタンを押したら
表の部分だけ送信用のファイルにデータをコピーして保存
そのファイルを添付するが良いですね。
ほか、PDFやXPSなど編集できない様に印刷ファイルを送信する方法もあります。
ざくっとですが、管理用のファイルにボタンを配置
準備として
管理用のファイルに
メールを送信する表の部分のシート名をエクセル表 という名前にする
別途、シートを追加
B2セルに 送信するメールアドレス
B3セルに CCのメールアドレス
B4セルに 件名
B5セルに 本文
を入れておきます。
適当な場所に場所を配置、VBエディターが起動したら以下をコピー
Sub ボタン1_Click()
Workbooks.Open Filename:=Thisworkbook.Path & "\送信用.xls"
Sheets(1).Rnage("A1:L100").Value=ThisWorkbook.Sheets("エクセル表").Rnage("A1:L100").Value
ActiveWorkbook.Save
ActiveWorkbook.Close

Set oApp = CreateObject("Outlook.Application")
Set objMAIL = oApp.CreateItem(0)
objMAIL.To = Range("B2").Value
objMAIL.Cc = Range("B3").Value
objMAIL.Subject = Range("B4").Value
objMAIL.Body = Range("B5").Value
.Attachments.Add Thisworkbook.Path & "\送信用.xls"
objMAIL.Send
End Sub

別途、同じフォルダーに、送信用.xls と云う名前で表の部分だけをコピーしたファイルを作成して
保存しておく。
VBAの内容は、ボタンを押すと
送信用のファイルを開いて、エクセル表のA1~L100の値を入れて、上書き保存
B2~B5の内容で新規メールを作成
送信用.xlsを添付
メールの送信
実験には、B2セルに自分のメールアドレス、B3は空白でもOKで
OutLookを起動した状態で、送信済みフォルダーを確認してみてください。
    • good
    • 0
この回答へのお礼

さっそくの回答ありがとうございます。
一度試してみます。

お礼日時:2015/08/09 13:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!