
メールで日報を送信する作業が日々のルーチン業務となっているのですが、
その負荷を軽減するため、できるだけ自動化したいと考えています。
メールを作成し、送信直前まで仕上げたいのですが、どこまで自動化できるでしょう。
※万が一の事故を防ぐため当面「送信」操作は人の手で行いたいです。
メール作成の内容は、
・指定のファイルを添付
・特定の宛先、件名、本文を挿入
です。
条件を細かく説明すると以下の様になります。
・メーラーはOutlook14(Office2010)
・添付ファイル名は固定ですが末尾の日付が変動
(例)
【****】○○日報20180814.xlsm
・宛先はToに30アドレス
・件名は固定ですが、日付部分が変動します。
(例)
【****】○○日報_8/14時点
・本文は定型文ですが、日付部分や本日の速報値が変動
(例)
-----------------------------------
各位
お疲れ様です。
****の進捗をご報告します。
<2018/08/14時点>
■○○○○ [F10]件
■□□□□ [F11]件
■△△△△ [F12]件
※詳細は添付の資料をご確認ください。
以上、よろしくお願いいたします。
-----------------------------------
[F10]とは添付エクセル、特定シート上のセル位置を指します。
UWSCでできたら良いと思っていますがVBAの方がずっと楽・・等なら検討します。
上記条件は現状こうやっているというだけなので必ず合わせる必要はありません。
自動化の都合に寄せる事は可能です。
(ファイルは事前にどこに置けば良いとか、日付の書式、ファイル名の規則とか)
不明点、説明不足な点あれば補足します。
詳しい方、よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> このソースのままだと実際にエクセルのセルの値は代入されませんよね。
件名や宛先の入ったシートのVBAとして作成すれば、Range("~").Valueで取得できるハズ。
別のブックやシートのVBAだったら、
> 実際に目的のファイルを開く処理は別途必要って事ですよね?
そういう事になるハズ。
いえ、私の言いたかったのはおそらくそうじゃなく、
最初に書いていただいたソース中に、
"■○○○○ " & Range("F10").Value & "件"
等がありますが、
これは、下記ファイルの中身を見に行ってはくれませんよね?
"【****】○○日報" & Format(Date, "yyyymmdd") & ".xlsm"
ソース中にはないが、自分でファイルをOpenする処理が必要なんですよね?
という意味でした。
No.1
- 回答日時:
UWSCからOutlookを起動して操作するよりは、VBやVBAからメール送信のAPIを利用する方が簡単だと思います。
例えば、下記のサイトはExcelに入力した件名や宛先、添付ファイルの場所を元にメール送信する事例です。
パソコンスキルの教科書 - VBAでメールを自動送信!エクセルマクロでoutlook操作する方法|事例&コード付
http://www.fastclassinfo.com/entry/vba_outlook_s …
--
手元にExcel、Outlookが無いですがたぶん、
Dim outlookObj As Outlook.Application 'Outlookで使用するオブジェクト生成
Dim mailItemObj As Outlook.mailItem 'Outlookで使用するオブジェクト生成
Set outlookObj = CreateObject("Outlook.Application")
Set mailItemObj = outlookObj.CreateItem(olMailItem)
mailItemObj.BodyFormat = 3 'リッチテキストに変更
mailItemObj.To = "hoge1@hoge.com, hoge2@hoge.com, hoge3@hoge.com" 'to宛先をセット
mailItemObj.cc = "hoge4@hoge.com" 'cc宛先をセット
mailItemObj.BCC = "jibun@jibun.com" 'bcc宛先をセット
mailItemObj.subject = "【****】○○日報_" & Month(Date) & "/" & Day(Date) & "時点" '件名をセット
' 本文生成
mailItemObj.Body = "-----------------------------------" & vbCrLf
mailItemObj.Body = mailItemObj.Body & "各位" & vbCrLf
mailItemObj.Body = mailItemObj.Body & "お疲れ様です。" & vbCrLf
mailItemObj.Body = mailItemObj.Body & "****の進捗をご報告します。" & vbCrLf
mailItemObj.Body = mailItemObj.Body & vbCrLf
mailItemObj.Body = mailItemObj.Body & "<" & Date & "時点>" & vbCrLf
mailItemObj.Body = mailItemObj.Body & "■○○○○ " & Range("F10").Value & "件" & vbCrLf
mailItemObj.Body = mailItemObj.Body & "■□□□□ " & Range("F11").Value & "件" & vbCrLf
mailItemObj.Body = mailItemObj.Body & "■△△△△ " & Range("F12").Value & "件" & vbCrLf
mailItemObj.Body = mailItemObj.Body & "※詳細は添付の資料をご確認ください。" & vbCrLf
mailItemObj.Body = mailItemObj.Body & "以上、よろしくお願いいたします。" & vbCrLf
'
mailItemObj.Attatchments.Add "【****】○○日報" & Format(Date, "yyyymmdd") & ".xlsm" ' 添付
mailItemObj.Save '下書き保存
mailItemObj.Display 'メール表示
' 終了処理(するとOutlookが閉じる?
Set outlookObj = Nothing
Set mailItemObj = Nothing
> ※万が一の事故を防ぐため当面「送信」操作は人の手で行いたいです。
って事だと、下書きに保存して表示するとかが無難でしょうか。
ありがとうございます。
参照設定など少し直したら(例)通りの動きをしました。
VBAでここまでできるのですね。
UWSCでこのVBA実行まで行えば連動して結果がでますね。
もう少し色々なアイデアを待ってみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Outlookで[全員に返信]をクリッ...
-
宛先の名前の後に「、」がつく
-
ACCESS2000のレポートのコント...
-
サンダーバードで自分宛のメー...
-
thunderbird 5.0でCCの宛先を無...
-
CCを日本語で言うと?
-
宛先が、recipients not specif...
-
BCCは絶対わからないですか?
-
迷惑メールの遮断法
-
Outlook Express 受信時間が長...
-
outlookでメールを送ってくれた...
-
「Thunderbirdメール」の送信文...
-
パソコンを買い替えてもメール...
-
Outlookの転送は、PC起動してい...
-
受信トレイに大量の迷惑メール...
-
この状態であれば、匿名でアド...
-
Outlookで別のフォルダに仕分け...
-
エクセルのシートをメールで送...
-
Eメール受信後、このメッセージ...
-
サンダーバードの星マークは何...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メールの宛先の「リソース」とは
-
CCを日本語で言うと?
-
宛先の順番が入れ替わってしまう。
-
Outlookで[全員に返信]をクリッ...
-
宛先が、recipients not specif...
-
Outlook2019の宛先表示について
-
Outlook で宛先が複数の場合の人数
-
Wordの差し込み印刷でのフィル...
-
アンダーバーが表示されない
-
宛先の名前の後に「、」がつく
-
迷惑メールの遮断法
-
ACCESS2000のレポートのコント...
-
宛先・cc・Bccをグループ化し...
-
ACCESS2010 レポートを分割しP...
-
宛先とCCの違いは何でしょうか。
-
Outlookで自分(Outlookのメルア...
-
VBAです。OUTLOOKでウンドウを選択
-
ACCESSで自動でメールをおくる...
-
OutlookでヘッダーにBCCのみ表...
-
Excel:ハイパーリンクに字数制...
おすすめ情報
No.1への補足です。
どうせエクセルVBA使うなら(マクロBook開くなら)、
シート上に、セットしたい「宛先」「件名」「本文」「添付ファイルパス」「添付ファイル名」を記載できるようにすると良いので改修にチャレンジしてみます。
このソースのままだと実際にエクセルのセルの値は代入されませんよね。
実際に目的のファイルを開く処理は別途必要って事ですよね?