経緯
WindowsのWordで毎回、同じ内容、同じ宛先に送っている作業があったので、
それをVBAを使って自動化してみました。
コード
早速、コードを書きます。やってることはタイトルのままです。
Sub SendEmailWithOutlookAsDocx()
Dim objOutlook As Object
Dim objMail As Object
Dim currentDocumentPath As String
Dim tempDocxPath As String
' 現在のWord文書のパスを取得
currentDocumentPath = ActiveDocument.FullName
' .docx形式で一時的に保存
tempDocxPath = Replace(currentDocumentPath, ".docm", ".docx")
ActiveDocument.SaveAs2 FileName:=tempDocxPath, FileFormat:=wdFormatXMLDocument, CompatibilityMode:=wdCurrent
' Outlookオブジェクトの作成
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0) ' olMailItem
' メール設定
With objMail
.To = "a_mori@mori.com; b_komori@mori.com;"
.CC = "c_nakamori@mori.com;d_oumori@mori.com;"
.Subject = "会合について"
.Body = "みんな" & vbCrLf & vbCrLf & _
"会合に参加いただきありがとうございました。" & vbCrLf & _
"まとめたファイルを送付しました。" & vbCrLf & vbCrLf & _
"次回の会合は決まり次第、連絡します。" & vbCrLf & vbCrLf & _
"森"
' メールに一時的に作成した.docx文書を添付
.Attachments.Add tempDocxPath
.Display ' メールを表示
End With
' オブジェクトの解放
Set objMail = Nothing
Set objOutlook = Nothing
' 一時的に作成した.docxファイルを削除(必要に応じて)
' Kill tempDocxPath
End Sub
こんな感じです。
添付ファイルはマクロなしの.docxに変換しています。
.To と.CCの所にはメールを送りたい人のアドレスを記入してください。
参考になれば、幸いです。
ここまで読んでいただきありがとうございました。
スクールの紹介
【アイデミー】AIを学んで一発逆転のキャリアチェンジ!最後に宣伝をさせてください。
夢見るAIエンジニアへ、今こそ一歩を踏み出せ!
最近、AI技術やデータサイエンスに興味を持ち始めたあなた。将来、AIエンジニアやデータサイエンティストとして活躍したいと考えているかもしれません。また、AIを使って業務課題や研究課題を解決したい、あるいは教養としてAIの知識を深めたいと思っている方もいるでしょう。
しかし、学び始めるとなると「どこから手をつけて良いのか分からない」「専門的すぎて理解できない」といった悩みが生じることも。そんなあなたのために、この3ヶ月間集中してAIプログラミングを習得するオンラインコーチングサービスがオススメです!
なぜこのサービスが選ばれるのか?その理由はこちら
- 初心者から上級者まで
完全なプログラミング初心者から研究者まで、幅広い方々に優良なコンテンツが提供されます。 - 徹底的な進捗管理
受講者の進捗をしっかりとチェックし、つまずきやすいポイントでのフォローが万全です。 - 専属メンターによる徹底サポート
AIの学び方から、実際の適用まで、専属のメンターが手厚くサポートします。 - 場所を選ばず学べるオンライン完結
東京以外の地域からも、気軽に学び始めることができます。
信頼の実績多数!
・日本最大級のプログラミングスクール実績
・受講者総数700名以上
・SaaS型学習サービス会員65,000名以上
・企業導入実績120社以上
・グッドデザイン賞受賞
・著名な賞受賞歴や経団連加盟も実現
夢を叶えるための第一歩を、一緒に踏み出しませんか?今なら、あなたもその一員として学び始めることができます!