現在Excelのマクロを開発して、電子メールに添付された選択範囲を送信しようとしています。 vbaについての私の知識がゼロであるため、私はインターネットを閲覧しており、このスクリプトをまとめておくことができました。現在、私はファイルを添付しようとしているときに必要なオブジェクトのエラーを取得します。オブジェクトが必要です電子メールにファイルを添付する際のエラー
皆さんからお寄せいただけるご支援とご意見をお待ちしております。
Sub AttachActiveSheetPDF()
Dim IsCreated As Boolean
Dim i As Long
Dim PdfFile As String, Title As String
Dim OutlApp As Object
PdfFile = ActiveWorkbook.FullName
i = InStrRev(PdfFile, ".")
If i > 1 Then PdfFile = Left(PdfFile, i - 1)
PdfFile = PdfFile & "_" & ActiveSheet.Name & ".pdf"
With ActiveSheet.PageSetup
.Orientation = xlPortrait
.PrintArea = "$A$1:$P$84"
.Zoom = False
.FitToPagesTall = False
.FitToPagesWide = 1
End With
With ActiveSheet
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PdfFile, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End With
On Error Resume Next
Set OutlApp = GetObject(, "Outlook.Application")
If Err Then
Set OutlApp = CreateObject("Outlook.Application")
IsCreated = True
End If
OutlApp.Visible = True
On Error GoTo 0
Dim Ebody As String
Ebody = "<p>Buenas Dias,</p> <p>Adjunto es el documento.</p>"
With OutlApp.CreateItem(0)
.Subject = Quotation_de_Aerolinea
.To = "..."
.CC = "..."
.HTMLBody = Ebody
myAttachments.Add (PdfFile)
On Error Resume Next
.Display
Application.Visible = True
If Err Then
MsgBox "E-mail was not sent", vbExclamation
Else
MsgBox "E-mail successfully sent", vbInformation
End If
On Error GoTo 0
End With
End Sub
事前
'myAttachments'はここで何ですか?あなたは '.Attachments.Add PdfFile'を意味しますか? –
私はmyattachmentsがファイルを添付するコマンドで、pdfのファイル名はこの場合pdffileだと思った – Nils
なぜPDF名に完全なブック名が含まれているのですか?あなたは 'ActiveWorkbook.Path'を意味するかもしれません。 – Parfait