[英]Sending formatted Lotus Notes rich text email from Excel VBA
While trying to use the hints in your answer at在尝试使用答案中的提示时
Sending formatted Lotus Notes rich text email from Excel VBA 从 Excel VBA 发送格式化的 Lotus Notes 富文本电子邮件
I could do almost everything I needed: write multiple lines with data from a database of mine, formatting the body by mean of html code, with links and formatted text.我几乎可以做我需要的一切:用我的数据库中的数据编写多行,通过 html 代码格式化正文,带有链接和格式化文本。
I also need to put an image in the mail body, but the html code "img src="etc.我还需要在邮件正文中放置一个图像,但是 html 代码“img src="etc. does not work, maybe because the image is located on my pc and is not reached by the recipients.不起作用,可能是因为图像位于我的电脑上并且收件人无法访问。 I need to find a way to embed the image just like I would do by mean of the Lotus menus.我需要找到一种方法来嵌入图像,就像我通过 Lotus 菜单所做的那样。 In my Italian Lotus Notes 7, there is a Create menu with an Image option, I find the image, click OK and it is done.在我的意大利语 Lotus Notes 7 中,有一个带有图像选项的创建菜单,我找到了图像,单击确定就完成了。
That's what I wish to do with my code, please tell me it's possible!这就是我希望用我的代码做的事情,请告诉我这是可能的! :-) :-)
Thanks in advance.提前致谢。
Riccardo Baldinotti, Italy里卡尔多·巴尔迪诺蒂,意大利
Here you can find the complete code.在这里你可以找到完整的代码。 It's too large to paste here, so I'm copying just a few lines to show the idea:粘贴在这里太大了,所以我只复制了几行来展示这个想法:
If (bSetImages) Then
For iImageIndex = 0 To Ubound(imageFilePaths)
' Get the image file path and content id (cid).
strImagePath = Trim(imageFilePaths(iImageIndex))
If (strImagePath = "") Then Exit Sub
strImageCid = Trim(imageContentIds(iImageIndex))
If (strImageCid = "") Then Exit Sub
' Get the image context type.
If (StrContains(strImagePath, ".", True)) Then strImageExt = Strrightback(strImagePath, ".") Else strImageExt = ""
Select Case Lcase(strImageExt)
Case "gif": strImageType = "image/gif"
Case "jpg": strImageType = "image/jpg"
Case Else: strImageType = "image/gif"
End Select
' Add the image part.
Set mimeImage = mimeBody.CreateChildEntity()
Set mimeImageHeader = mimeImage.CreateHeader({Content-ID})
Call mimeImageHeader.SetHeaderVal("<" & strImageCid & ">")
Call stream.Open(strImagePath)
Call mimeImage.SetContentFromBytes(stream, strImageType & {;name="} + strImageCid + {"}, ENC_IDENTITY_BINARY)
Call stream.Close()
Next
End If
At the address在地址
http://www-10.lotus.com/ldd/nd6forum.nsf/DateAllThreadedweb/dcbf91b97004f0af8525773e002867a9?OpenDocument http://www-10.lotus.com/ldd/nd6forum.nsf/DateAllThreadedweb/dcbf91b97004f0af8525773e002867a9?OpenDocument
I found a solution, and now my mail body has an image in it.我找到了一个解决方案,现在我的邮件正文中有一个图像。
Here is my code.这是我的代码。
Call stream.Open("<MY IMAGE PATH>")
Set body = MailDoc.CreateMIMEEntity '("memo")
Set richTextHeader = body.CreateHeader("Content-Type")
Call richTextHeader.SetHeaderVal("multipart/mixed")
Set mimeImage = body.CreateChildEntity()
strImageType = "image/jpeg" 'Other formats are "image/gif" "image/bmp"
Call mimeImage.SetContentFromBytes(stream, strImageType, ENC_IDENTITY_BINARY)
Call stream.Close
Regards问候
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.