2016-05-16 16 views
0

Excel 2013/2016で請求プログラムを実行しています。請求書を作成し、PDFとして保存し、メールを作成してPDFを添付することが目的です。VBAからメールを送信するときに添付ファイルが見つからない

私のコードは、行でブレークダウンされ

objMessage.AddAttachment = GemFilSom

はここです(libとファイルへのリンク)があるコード:私はしました

Private Sub CommandButton2_Click() 

Dim Sender As String 
Dim Modtager As String 
Dim Emne As String 
Dim Tekst As String 
Dim Vedhaft As String 
Dim Tekst1 As String 
Dim Tekst2 As String 
Dim Tekst3 As String 
Dim Tekst4 As String 
Dim Tekst6 As String 
Dim Fulltekst As String 
Dim Pw As String 
Dim Port As String 
Dim SMTPUdbyder As String 
Dim GemFilSom As String 

Const cdoSendUsingPickup = 1 
Const cdoSendUsingPort = 2 
Const cdoAnonymous = 0 
Const cdoBasic = 1 
Const cdoNTLM = 2 




    Sheets("Udskrift").Activate 

' ActiveWindow.SelectedSheets.PrintOut Copies:=2, Collate:=True, _ 
'  IgnorePrintAreas:=False 


GemFilSom = Worksheets("FakturaList").Range("L8").Value 'lib + filename 

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=GemFilSom _ 
    , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _ 
    :=False, OpenAfterPublish:=False 

Afsender = Worksheets("FakturaList").Range("L23").Value 'from 
Modtager = Worksheets("FakturaList").Range("L24").Value 'to 
Emne = Worksheets("FakturaList").Range("L25").Value   'Subject 
Tekst1 = Worksheets("FakturaList").Range("L14").Value  'Bodytekst 
Tekst2 = Worksheets("FakturaList").Range("L15").Value  ' " 
Tekst3 = Worksheets("FakturaList").Range("L16").Value  ' " 
Tekst4 = Worksheets("FakturaList").Range("L17").Value  ' " 
Tekst5 = Worksheets("FakturaList").Range("L18").Value  ' " 
Tekst6 = Worksheets("FakturaList").Range("L19").Value  ' " 
Pw = Worksheets("FakturaList").Range("L22").Value   'Password 
Port = Worksheets("FakturaList").Range("L31").Value   'SMTP Port 
SMTPUdbyder = Worksheets("FakturaList").Range("L32").Value 'SMTP Server 

Vedhaft = Worksheets("FakturaList").Range("L27").Value  'Attachment 'Lib+Filename 

Fulltekst = Tekst1 & vbNewLine & vbNewLine & vbNewLine & vbNewLine & Tekst2 & vbNewLine & Tekst3 & vbNewLine & vbNewLine & Tekst4 & vbNewLine & vbNewLine & Tekst5 & vbNewLine & Tekst6 
'Bodytext 

Set objMessage = CreateObject("CDO.Message") 
objMessage.Subject = Emne 
objMessage.From = Afsender 
objMessage.To = Modtager 
objMessage.Bcc = Afsender 
**objMessage.AddAttachment = GemFilSom** ' This line doesn't work and do not 'attach 
objMessage.TextBody = Fulltekst 


***objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/Attachment") = GemFilSom***  objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTPUdbyder 
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic 
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = Afsender 
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = Pw 
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = Port 
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True 
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10 

objMessage.Configuration.Fields.Update 

objMessage.Send 

End Sub 

googleingと何かをテストする4日を過ごした....だれでも助けてくれる? 私はVBA

基本理解

ベストreagsrd マイケル

+0

ランタイムエラー '5':無効なプロシージャコールコールの引数 –

+0

申し訳ありませんでした注意を払っていなかったし、 'objMessage.AddAttachment GemFilSom'は' = ')https://なしで動作するはずですblogs.technet.microsoft.com/heyscriptingguy/2004/11/29/how-can-i-attach-a-file-to-an-email-sent-using-cdo/ –

+0

よく添付されて解決しています.... *** objMessage.Configuration.Fields.Item( "http://schemas.microsoft.com/cdo/configuration/Attachment")= GemFilSom ***そしてTim - THKS Aの提案通りにCDO部分を変更しました。束!! –

答えて

0

objMessage.AddAttachmentが方法であるが、現在それに引数を渡すことに値を割り当てるにではなく、しようとしているがあります。

の代わりに(これはプロパティではありませんので、動作しませんどの)objMessage.AddAttachmentGemFilSomの値を代入しようとしている

objMessage.AddAttachment = GemFilSom 

使用します。

objMessage.AddAttachment GemFilSom 

されます GemFilSomをメソッドの引数として渡します。この引数は、オブジェクトをメールアイテムに添付します。

関連する問題