Estou tentando vincular tardiamente o processo de abertura de uma mensagem do Outlook para relatar um problema ou uma sugestão para uma planilha. Estou tentando preencher previamente os destinatários TO: e CC:, Linha de Assunto e as primeiras linhas do corpo da mensagem. Não quero enviar a mensagem, pois preciso que o usuário preencha o corpo da mensagem com seus pensamentos.
Encontrei um código que foi originalmente configurado usando early binding. Então, comecei a mutilá-lo para que, esperançosamente, atendesse às minhas necessidades. Então, eu o massacrou tentando fazê-lo funcionar com late binding.
Quando passo pelo código, recebo um Run-time error '13': Type mismatch
na segunda linha de criação de objeto que estou supondo que está realmente tentando criar a mensagem. Tentei alterar o olMailItem para 0. Isso resulta em um erro activeX: Run-time error '429': ActiveX component can't create object
.
Eu Option Explicit
configurei.
Private Sub ReportBug_Click()
Dim objOutlook As Object
Dim objOutlookMsg As Object
Dim objOutlookRecip As Object
Dim olMailItem As Object
Dim Recipients As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objOutlookMsg = objOutlook.CreateObject(olMailItem)
With objOutlookMsg
Set Recipients = objOutlookMsg.Recipients
'Set TO: recipient
Set objOutlookRecip = .Recipients.Add("[email protected]")
objOutlookRecip.Type = 1 '1 for to
'Set CC: recipient
Set objOutlookRecip = .Recipients.Add("[email protected]")
objOutlookRecip.Type = 2 '2 for cc
'Set Subject Line
.Subject = "Forecasting Sheet Bug / Recommendation from " & Me.Cells(4, 2).Value
'start message body
.HTMLBody = "To whom it may concern," & vbCrLf & vbCrLf & "With respect to the forecasting sheet I noted the following:" & vbCrLf
'Resolve each Recipient's name.
For Each objOutlookRecip In .Recipients
objOutlookRecip.Resolve
Next
'objOutlookMsg.Send
.Display
End With
Set objOutlook = Nothing
End Sub
Algumas das perguntas anteriores que analisei foram:
Este aqui é onde aprendi a trocar olTO e olCC com seus valores numéricos. Não consegui encontrar um valor numérico listado para olMailItem.
E esta que fez oMail.CC = "email address here"
parecer uma opção mais simples
E este onde eu peguei o código inicial para mim
E juro que teve outro cujo link não consigo mais encontrar.
Questões
Como posso consertar meu goof S e me livrar do erro?
Alterar isto:
para isso: