首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用.oft模板回复并显示图像和附件

用.oft模板回复并显示图像和附件
EN

Stack Overflow用户
提问于 2020-07-22 02:12:01
回答 3查看 889关注 0票数 0

当我从.oft模板创建电子邮件时,它并不会显示电子邮件的所有内容。

它缺少图像和/或附件之类的内容。

我尝试合并Sub reply1()和Sub reply2():

代码语言:javascript
运行
AI代码解释
复制
Sub Reply1()

Dim Original As Outlook.MailItem
Dim Reply As Outlook.MailItem
Set Original = Application.ActiveExplorer.Selection(1).Reply
Set Reply = Application.CreateItemFromTemplate("C:\Outlook\Mail.oft")

Original.HTMLBody = Reply.HTMLBody & Original.HTMLBody
Original.Display
End Sub

Sub Reply1()

此代码不显示我自己的.oft邮件的图像或附件。

它确实显示了我的电子邮件签名,但在两封邮件的最底部。

它确实显示了我正确回复的电子邮件的内容。

代码语言:javascript
运行
AI代码解释
复制
Sub Reply2()

Dim origEmail As MailItem
Dim replyEmail As MailItem

Set origEmail = ActiveExplorer.Selection(1)
Set replyEmail = CreateItemFromTemplate("C:\Outlook\Mail.oft")

replyEmail.To = origEmail.Reply.To

replyEmail.HTMLBody = replyEmail.HTMLBody & origEmail.Reply.HTMLBody
replyEmail.Recipients.ResolveAll
replyEmail.Display

Set origEmail = Nothing
Set replyEmail = Nothing

End Sub

Sub Reply2()Sub Reply1相反。

它显示了我自己的.oft邮件的图像和附件。

它将不能正确显示我的电子邮件签名。

它不会显示我正确回复的邮件的内容。图像不见了

Sub Reply1()结果:

子Reply2()结果

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-08-11 01:00:48

下面的代码确实适用于我的情况。

代码语言:javascript
运行
AI代码解释
复制
Sub Reply1()
Dim fromTemplate As MailItem
Dim reply As MailItem
Dim oItem As Object

Set fromTemplate = CreateItemFromTemplate("C:\Outlook\Mail.oft")

Set oItem = GetCurrentItem()
If Not oItem Is Nothing Then
Set reply = oItem.ReplyAll
CopyAttachments oItem, fromTemplate, reply
    
reply.HTMLBody = fromTemplate.HTMLBody & reply.HTMLBody
    
reply.Display
oItem.UnRead = False
End If
 
Set reply = Nothing
Set oItem = Nothing
End Sub


Function GetCurrentItem() As Object
Dim objApp As Outlook.Application
     
Set objApp = Application
On Error Resume Next
Select Case TypeName(objApp.ActiveWindow)
Case "Explorer"
Set GetCurrentItem = objApp.ActiveExplorer.Selection.Item(1)
Case "Inspector"
Set GetCurrentItem = objApp.ActiveInspector.CurrentItem
End Select
 
Set objApp = Nothing
End Function

Sub CopyAttachments(source1, source2, objTargetItem)
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldTemp = fso.GetSpecialFolder(2) ' TemporaryFolder
strPath = fldTemp.Path & "\"
For Each objAtt In source1.Attachments
strFile = strPath & objAtt.fileName
objAtt.SaveAsFile strFile
objTargetItem.Attachments.Add strFile, , , objAtt.DisplayName
fso.DeleteFile strFile
Next

For Each objAtt In source2.Attachments
strFile = strPath & objAtt.fileName
objAtt.SaveAsFile strFile
objTargetItem.Attachments.Add strFile, , , objAtt.DisplayName
fso.DeleteFile strFile
Next

Set fldTemp = Nothing
Set fso = Nothing
End Sub
票数 0
EN

Stack Overflow用户

发布于 2020-07-26 23:05:18

嵌入的图像作为隐藏的附件存储在电子邮件中。如果基于模板创建新的Outlook项,则需要重新附加所需的图像,以使消息体正确呈现。您可以在How to add an embedded image to an HTML message in Outlook 2010线程中阅读更多有关这方面的内容。

此外,我注意到以下代码:

代码语言:javascript
运行
AI代码解释
复制
replyEmail.HTMLBody = replyEmail.HTMLBody & origEmail.Reply.HTMLBody

记住,HTML字符串应该是格式良好的标记.如果要将某些内容插入到现有项的消息正文中,则需要将其粘贴到打开的<body>中并关闭</body>元素。否则,您可能会得到一个损坏或不正确呈现的消息体。即使Outlook通过整理大多数错误来完成它的伟大工作。

票数 0
EN

Stack Overflow用户

发布于 2020-08-11 10:40:12

转发电子邮件保留附件。

代码语言:javascript
运行
AI代码解释
复制
Option Explicit ' Consider this mandatory
' Tools | Options | Editor tab
' Require Variable Declaration
' If desperate declare as Variant


Sub Reply_Retain_Attachments()

    Dim fromTemplate As MailItem
    Dim origEmail As MailItem
    Dim forwardEmail As MailItem
    
    Set fromTemplate = CreateItemFromTemplate("C:\Outlook\Mail.oft")
    
    Set origEmail = GetCurrentItem()
    
    If Not origEmail Is Nothing Then
    
        ' Forward retains attachments
        Set forwardEmail = origEmail.Forward
        
        forwardEmail.HTMLBody = fromTemplate.HTMLBody & forwardEmail.HTMLBody
        
        forwardEmail.To = origEmail.reply.To ' keep .reply here
        
        forwardEmail.Recipients.ResolveAll
        forwardEmail.Display
        
    Else
        ' This may never occur
        MsgBox "GetCurrentItem is nothing?"
        
    End If

End Sub

Function GetCurrentItem() As Object
     
    'On Error Resume Next ' uncomment if you find it necessary
    
    Select Case TypeName(ActiveWindow)
    Case "Explorer"
        Set GetCurrentItem = ActiveExplorer.Selection.item(1)
    Case "Inspector"
        Set GetCurrentItem = ActiveInspector.CurrentItem
    End Select

End Function
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63031871

复制
相关文章
__dirname 在ES模块中的使用
ECMAScript模块是 JavaScript 的新标准格式。在Node.js中越来越多的库逐渐从从CommonJS转移到ES模块
ACK
2024/04/09
3050
__dirname 在ES模块中的使用
ansible模块定制开发
现以pids.py模块进行讲解,该文件位于ansible/modules/system/pids.py,一旦你理解模块的基本开发流程,就可以开发的模块,让自己的能力更上一层楼:
yxxhero
2022/05/31
1K0
我在使用 Go 过程中犯过的低级错误
循环迭代器变量是一个在每次循环迭代中采用不同值的单个变量。如果我们一直使用一个变量,可能会导致不可预知的行为。
用户5166556
2023/03/18
2.1K0
我在使用 Go 过程中犯过的低级错误
我应该使用 PyCharm 在 Python 中编程吗?
Python 是一种广泛使用的编程语言,以其简单、多功能和庞大的开发人员社区而闻名。这个社区不断创建新的库和工具,以提高Python编程的效率和便利性。选择正确的环境来编写和调试 Python 代码可能具有挑战性,但 PyCharm 是一个很好的选择,从其他选项中脱颖而出。
很酷的站长
2023/02/20
4.7K0
我应该使用 PyCharm 在 Python 中编程吗?
CSDN自定义模块的高度定制
在只允许使用html,不能使用js和css的情况下,也能把CSDN的自定义模块玩出花来
拿我格子衫来
2022/01/24
5780
CSDN自定义模块的高度定制
Python 中argparse模块的使用
如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利用sys.argv将脚本后的参数依次读取(读进来的默认是字符串格式)。
用户1332428
2018/07/30
8120
Python中math模块的使用
这些函数大部分的返回结果是浮点数,在代码中,浮点数小数点后面的位数是有限的,而二进制表示小数时很有可能会出现无限循环的小数,因此浮点数会有精度损失,不过,大多数情况下这并不影响我们使用。
Python碎片公众号
2021/02/26
1.4K0
Python中math模块的使用
我在ThoughtWorks中的敏捷实践
E项目是一个在线的物资跟踪监控系统。由ThoughtWorks团队为客户提供的一套完善的软件交付服务。
袁慎建@ThoughtWorks
2018/09/29
2.1K0
我在ThoughtWorks中的敏捷实践
Python中math模块的使用
这些函数大部分的返回结果是浮点数,在代码中,浮点数小数点后面的位数是有限的,而二进制表示小数时很有可能会出现无限循环的小数,因此浮点数会有精度损失,不过,大多数情况下这并不影响我们使用。
用户7886150
2020/12/24
1.2K0
Python 中argparse模块的使用
如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利用sys.argv将脚本后的参数依次读取(读进来的默认是字符串格式)。
致Great
2018/08/02
8730
Python中的itchat模块的使用
@CSDN:https://blog.csdn.net/weixin_44510615/article/details/105340263
润森
2020/04/08
8600
Python中的itchat模块的使用
工具的使用|MSF中mimikatz模块的使用
MSF中的mimikatz模块,可以列举出系统中的各种凭据,以及执行一些mimikatz相关的命令。目前,该模块已经更新为功能更全的kiwi模块,传送门:工具的使用 | MSF中kiwi模块的使用
谢公子
2022/01/19
1.8K0
工具的使用|MSF中mimikatz模块的使用
工具的使用 | MSF中kiwi模块的使用
使用kiwi模块需要system权限,所以我们在使用该模块之前需要将当前MSF中的shell提升为system。提到system有两个方法,一是当前的权限是administrator用户,二是利用其它手段先提权到administrator用户。然后administrator用户可以直接getsystem到system权限。
谢公子
2022/01/19
1.7K0
工具的使用 | MSF中kiwi模块的使用
git 子模块在项目中的使用
在公司的项目中, 经常会遇到一些公共的内容, 多个项目中间通用的, 不可能每次都将整个代码复制一遍, 遇到这种情况有很多不同的解决方案, 一般来说, 项目是通过 git 来管理的, 巧了, git 也同样支持子模块.
烟草的香味
2020/11/09
1.2K0
git 子模块在项目中的使用
在 SwiftUI 下定制手势
不同于众多的内置控件,SwiftUI 没有采用对 UIGestureRecognizer(或 NSGestureRecognizer)进行包装的形式,而是重构了自己的手势体系。SwiftUI 手势在某种程度上降低了使用门槛,但由于缺乏提供底层数据的 API,严重制约了开发者的深度定制能力。在 SwiftUI 下,我们无法拥有类似构建全新 UIGestureRecongnizer 的能力。所谓的自定义手势,其实只是对系统预置手势的重构而已。本文将通过几个示例,演示如何使用 SwiftUI 提供的原生手段定制所需手势。
东坡肘子
2022/07/28
2.8K0
在 SwiftUI 下定制手势
python中的 uuid 模块使用示例
此模块提供不可变的 UUID 对象 (类 uuid) 和函数uuid1()、uuid3()、uuid4()、uuid5(),
py3study
2020/01/19
9130
在store中的index.js中引入其他模块
在Vue.js的项目中,store是一个非常重要的模块,它用于管理应用程序的状态。在store的index.js文件中,我们可以引入其他模块来扩展和组织我们的应用程序的状态逻辑。
GeekLiHua
2025/01/21
570
在store中的index.js中引入其他模块
[译] 依赖注入在多模块工程中的应用
总的来说,这不是一篇关于依赖注入的文章,也不是关于我们为什么选择库 X 而不是库 Y 的文章。 相反的,本文从依赖注入的角度介绍了我们对 Plaid 进行模块化实践的主要成果。
Android 开发者
2022/09/20
1.8K0
[译] 依赖注入在多模块工程中的应用
python中logger日志模块的使用
        一般,我们做一些简单的状态输出都会用print,但是这是最简单的情况下使用的工具。当我们的程序比较复杂的时候,我们会使用日志文件,特别是程序运行的时间特别久,中间可能存在一些问题,需要后面来看的时候。
钱塘小甲子
2019/01/28
1K0
nutz 中 子模块 参数的使用。
1.支持HttpSession,HttpServletRequest,HttpServletResponse三个参数
forxtz
2020/10/10
6410

相似问题

为什么我的定制模块没有被识别?

30

drupal商业中定制产品的模块

20

在定制模块的控制器响应中在textarea上使用CKEditor

20

定制Drupal商业捆绑模块

10

定制模块的index.php文件

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文