こんにちは、くのへ@MasazaneKunoheです。
エクセルがメールソフトのように変身するって知ってました?
VBAでOutlookを参照設定する方法ではないです。
Envelope.Visibleを使う方法です!!
これはたまたま見つけた機能で、見つけた時はとてもびっくりしました。
こんな感じです
エクセルの上の方にメールっぽいバーを出せます。w
ここに送信ボタンがあります。これをクリックすると、、、
メールが届いてる!!
エクセルにこんな機能が隠れてたんですね~
使ってみよう
【注意!!】
Officeを複数バージョン入れていて、ExcelとOutlookのバージョンが異なるとOutlookのセットアップが始まってしまいます。Officeを複数バージョン入れている方は、ご注意下さい!!
まずは、Alt + F11でVBEを開き、ThisWorkbookをクリックします。
そして、左下のプロパティウィンドウから、Envelope.VisibleプロパティをTureに変えます。
はい!!メールっぽいバーが出来上がり!!
これに宛先や件名、備考を書いて送信ボタンを押すと、Outlookの送信トレイにメールが作成されます。そして、Outlookが起動していたらそのまま送信されます。
(注)Outlookが起動していないと送信トレイに保存されたまま送信されません。
面白い!!
この機能は、いにしえのエクセル機能だったらしい
Twitterでつぶやいていたら、Forguncyさんからこの機能に対する重要な情報が!!
このリプのリンク先はこちらです
Excelの編集画面から直接メールでファイルを送信 | 日経クロステック(xTECH) (nikkei.com)
この記事によると、昔はエクセルの「ファイル」に「送信」というボタンがあり、このメールバーを呼び出す機能があったらしい。
つまり、いにしえのエクセル機能を発掘したみたいなんです。
面白いなぁ😆
マクロで設定しよう
ここまで出来たら、マクロで設定したいですよね。
でも、この機能、なんと「マクロの記録」が効きません!!
なん、、、だと、、、!!??
頑張って検索していたら、海外のガチ勢の投稿がありマクロで書き込む方法が分かりました。
↓コピペでどうぞ。
ただし、フォルダのアドレスの部分は各PC環境に依存するため、USERNAMEの部分を書き換えてください。
Public Sub EnvelopeMail()
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "EmailMessage"
.Item.To = "sample@kunohe.tech"
.Item.CC = "EmailCC"
.Item.BCC = "EmailBcc"
.Item.Subject = "SubjectLine"
'添付ファイルtest.txtを設定。USERNAMEの部分は各PC環境のアドレスを記述。
.Item.Attachments.Add "C:\Users\USERNAME\Desktop\" & "test.txt"
.Item.Save 'Outlookのドラフトトレイに保存
' .Item.Send 'Outlookの送信トレイへ送る(送信)
' .Item.SaveAs "C:\Users\USERNAME\Desktop\test.msg" 'デスクトップに保存
End With
End Sub
エクセルVBAを書ける方は、読めば直感的に分かると思います。
これって、OutlookVBAとほとんど書式一緒だ!!😆
ではまた別の記事で~
🦅バサバサ~