2016-04-20 161 views
0

我試圖從我的VBA excel項目(類項目)發送電子郵件,並遇到了一個有趣的錯誤。自動化錯誤:ClassFactory cannot supply requested class.我的代碼如下。我想知道爲什麼會出現這個錯誤。另外,還有更好的方法來發送來自VBA的電子郵件,以便我可以將它發送給任何用戶,並且它仍然會發送電子郵件到正確的地址,而不會從我的設備獲取我的Outlook數據?謝謝大家。我知道這個論壇強調具體問題的表述,我希望這可以滿足。VBA電子郵件,Outlook錯誤

Private Sub cmdEmail_Click() 

    'Assign Variables to Appropriate Data Type 
    Dim strEmailtoUser As String 
    Dim OutApptoUser As Object 
    Dim OutMailtoUser As MailItem 
    Dim DestwbtoUser As Workbook 

    'Copy Worksheet 
    Workbooks("alis9035-Project.Updated.xlsm").Sheets("Final List!").Copy 

    'Ask user for their email 
    strEmailtoUser = InputBox("What email would you like this sent to?", "Email List", "[email protected]") 

    'Set object variables to outlook application 
    Set OutApptoUser = CreateObject("Outlook.Application") 
    Set OutApptoUser = New Outlook.Application 
    Set OutMailtoUser = OutApptoUser.CreateItem(0) 

    'Send email to user 
    With DestwbtoUser 
     With OutMailtoUser 
      .To = strEmailtoUser 
      .Subject = "User Rating" 
      .Body = "The user rated the application" 
     End With 
     .Close savechanges:=False 
    End With 

End Sub 
+0

究竟哪一行導致錯誤?此外,「OutApptoUser」連續分配兩次,首先是後期綁定,然後是早期綁定。挑一個,溝其他。 –

回答

0

如果您想從VBA發送電子郵件而不使用outlook,則可以使用BLAT。構建blat需要的命令行並使用shell來啓動它。

更多資訊...

http://www.blat.net/

+0

花了一段時間才知道如何配置,但像魅力一樣工作!謝謝。 – AVI

+0

沒問題,盡情享受吧! –