プロが教えるわが家の防犯対策術!

作業ブックに
Sub メール送信() Application.DisplayAlerts = False
On Error Resume Next
Worksheets(Array("記載方法", "提出図書(参考)", "消防の指摘一覧(参考資料)")).Delete
Application.DisplayAlerts = True
Application.Dialogs(xlDialogSaveAs).Show Arg1:="\" & Range("P1").Value, Arg2:=xlOpenXMLWorkbookMacroEnabled
Worksheets("提出シート").Activate
Range("B1", "H47").Select
myBook = ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:=myBook & "\" & Range("P1").Value & "●.xlsx", FileFormat:=xlOpenXMLWorkbook
Application.Quit
With ThisWorkbook
.Saved = True
End With
Dim oApp As Object
Dim omail As Object
Dim fname As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
fname = ThisWorkbook.Path & "\" & Range("P1").Value & "●.xls"
ThisWorkbook.SaveAs Filename:=fname
Set oApp = CreateObject("Outlook.Application")
Set omail = oApp.CreateItem(0)
With omail
.To = Range("AE2").Value
.cc = Range("AE3").Value & " ; " & Range("AE4").Value & " ; " & Range("AE5").Value
.Subject = Range("P1").Value
.Body = "受付担当者 様" & vbCrLf & "お世話になっております。" & vbCrLf _
& "受付シートをお送りいたします。" & vbCrLf & "ご確認をお願い致します。" & vbCrLf & vbCrLf & _
Range("C20").Value & vbCrLf & Range("D18").Value & vbCrLf & "「TEL:」" & Range("F18").Value & _
vbCrLf & "「携帯:」" & Range("F19").Value & vbCrLf & "「メール:」" & Range("F21").Value
.Attachments.Add fname
.Display
'.Send
End With
Set oApp = Nothing
Set omail = Nothing
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
が有ります。
このコードを実行すると
1.不要なシートが削除
2.P1値でのファイル名で「マクロ有効ブック:xlsm」で保存
3.P1値でのファイル名で「Excelブック:xlsx」で保存
4.3.P1値でのファイル名で「Excelブック:xlsx」のファイルを添付ファイルとして
Outlookでメールが送れるように設定しておりますが。
1.2.3.は上手く動作してくれそれぞれのファイルが出来上がりますが
4.のメールがどうしても送信できません、(メール自体も起動しません)
解決方法をお願い致します。

A 回答 (2件)

vbs/wshでメール送信するやり方は知っているが、vbaで可能かどうかはわからない。

メール送信もvbaでやるかvbs/wshと連携するか。いずれにせよOutlookは関係ない。ここまでマクロを組める人ならvbs/wshも読めると思う。

(WSH)VBScriptでメール送信 - 3流プログラマのメモ書き
https://3ryupg.hatenablog.com/entry/2018/02/26/0 …
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
色々やってみます。

お礼日時:2022/03/29 08:15

マイクソソフトなので動かなくて当たり前です。


PSでやったほうがまだ動くと思います。
    • good
    • 0

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