008 エクセル機能でメール!?(Envelope.Visible)

こんにちは、くのへ@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とほとんど書式一緒だ!!😆


ではまた別の記事で~
🦅バサバサ~

くのへツイッターはこちら。
くのへスタジオはこちら。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です