Note: The other languages of the website are Google-translated. Back to English

如何应用按钮发送带有当前Word文件的电子邮件? 

如果您需要通过Outlook从Word文档发送电子邮件,并附加当前的Word文件,则可以创建命令按钮,然后通过单击此按钮发送消息而无需打开Outlook。 本文,我将介绍如何快速,轻松地处理它。

应用按钮发送带有当前Word文件的电子邮件


应用按钮发送带有当前Word文件的电子邮件

请执行以下步骤来解决Word文件中的这项工作:

1。 首先,您应该创建一个命令按钮,请单击 开发商 > 旧版工具 > 命令按钮(ActiveX控件),请参见屏幕截图:

doc按钮发送电子邮件1

2。 选择按钮,然后单击 租房 在下面 开发商 标签,在 租房 窗格中,将所需的标题文本输入到 标题 字段,请参见屏幕截图:

doc按钮发送电子邮件2

3。 然后,关闭 租房 窗格,现在,右键单击按钮,然后选择 查看代码,请参见屏幕截图:

doc按钮发送电子邮件3

4。 然后,在显示的 Microsoft Visual Basic应用程序 窗口,将以下代码复制并粘贴到原始脚本之间,请参见屏幕截图:

Dim xOutlookObj As Object
    Dim xEmail As Object
    Dim xDoc As Document
    Application.ScreenUpdating = False
    Set xOutlookObj = CreateObject("Outlook.Application")
    Set xEmail = xOutlookObj.CreateItem(olMailItem)
    Set xDoc = ActiveDocument
    xDoc.Save
    With xEmail
        .Subject = "Fax-data"
        .Body = "This is a test email."
        .To = "yy@addin99.com"
        .Importance = olImportanceNormal
        .Attachments.Add xDoc.FullName
        .Display
    End With
    Set xDoc = Nothing
    Set xEmail = Nothing
    Set xOutlookObj = Nothing
    Application.ScreenUpdating = True

doc按钮发送电子邮件4

备注:在上面的代码中,您应该根据需要更改主题,正文或发送的地址。

5。 然后,保存并关闭此代码,单击 设计模式 关闭设计模式。 现在,单击创建的命令按钮时,将创建一封电子邮件,其中包含当前的Word文档,请参见屏幕截图:

doc按钮发送电子邮件5

6。 最后,您只需要单击 发送 按钮发送此消息。


推荐的Word生产力工具

 

Kutools For Word-超过100种Word高级功能,节省50%的时间

  • 复杂和重复的操作可以在几秒钟内完成一次处理。
  • 跨文件夹一次将多个图像插入Word文档。
  • 将文件夹中的多个Word文件合并并合并为所需顺序。
  • 根据标题,分节符或其他条件将当前文档拆分为单独的文档。
  • 在Doc和Docx之间,Docx和PDF之间转换文件,用于常见转换和选择的工具集合等...
按评论排序
注释 (29)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
我正在尝试发送电子邮件,主题行是我的一个字段的内容。 这可能吗?
该评论由网站上的主持人最小化
Hola, me podrían apoyar para que el archivo se convierta en PDF y se adjunte al correo en ves del word por 赞成。
非常感谢。
该评论由网站上的主持人最小化
嗨扩展办公室团队,

我相信“xEmile”拼写错误。 它应该是“xEmail”。

当代码运行并且没有问题时,下面的语句不会做任何事情:

设置 xEmail = 无
该评论由网站上的主持人最小化
嗨,阿比,
感谢您的评论,正如您所说,“xEmile”拼写错误,应该是“xEmail”。 我已经更新了代码。
再次感谢你!
该评论由网站上的主持人最小化
可以这样做,以便您只发送一页文件吗?
该评论由网站上的主持人最小化
你好,唐,
为了处理您的任务,请应用以下代码,在代码中,您应该将起始页和结束页更改为您自己的:

私有子 CommandButton1_Click()

调暗 xCurPageStart As Long、xCurPageEnd As Long、xCurPageRange As Range

将 xCurPage 调暗为整数,xPages 调暗为整数

将 xOutlookObj 调暗为对象

将 xEmail 暗淡为对象

将 xDoc 调暗为文档,将 xNewDoc 调暗为文档

将 xFilePath 调暗为字符串

将 xOldStart 变暗,xOldEnd 变暗

出错时继续下一步

Application.ScreenUpdating = False

设置 xOutlookObj = CreateObject("Outlook.Application")

设置 xEmail = xOutlookObj.CreateItem(olMailItem)

xFilePath = CreateObject("WScript.Shell").SpecialFolders(16)

设置 xDoc = ActiveDocument

xOldStart = xDoc.Application.Selection.Start

xOldEnd = xDoc.Application.Selection.End

xDoc.保存

xFilePath = xFilePath + "\attached file" + VBA.Mid(xDoc.FullName, VBA.InStrRev(xDoc.FullName, ".")) 'attached file为附件文件名,根据需要改

xCurPageStart = 2 '起始页

xCurPageEnd = 2 '结束页面

xPages = Selection.Information(wdNumberOfPagesInDocument)

xCurPageStart = Selection.GoTo(what:=wdGoToPage, which:=wdGoToNext, Name:=xCurPageStart).Start

如果 xCurPage = xPages 那么

xCurPageEnd = ActiveDocument.Content.End

其他

xCurPageEnd = Selection.GoTo(what:=wdGoToPage, which:=wdGoToNext, Name:=xCurPageEnd + 1).Start

结束如果

设置 xCurPageRange = ActiveDocument.Range(xCurPageStart, xCurPageEnd)

xCurPageRange.Select

xCurPageRange.Copy

设置 xNewDoc = Application.Documents.Add(Visible:=False)

xNewDoc.激活

xNewDoc.Content.PasteAndFormat wdFormatOriginalFormatting

xNewDoc.SaveAs2 文件名:=xFilePath

xNewDoc.关闭

xDoc.Range(xOldStart, xOldEnd).选择

使用 xEmail

.Subject = "传真数据"

.Body = "这是一封测试邮件。"

.To = "yy@addin99.com"

.Importance = olImportanceNormal

.Attachments.Add x文件路径

。显示

结束

VBA.Kill x文件路径

设置 xDoc = 无

设置 xEmail = 无

设置 xOutlookObj = 无

Application.ScreenUpdating =真

END SUB
该评论由网站上的主持人最小化
我已经用 MS word 制作了一个可填写的表格。 我使用旧工具进行计算等。我还添加了一个提交按钮,用于将表单发送到电子邮件。 问题是当我保存后重新打开此文档时,它不起作用。 我什至尝试将其保存为启用宏的文档,但没有用。 你能帮忙吗?
谢谢
该评论由网站上的主持人最小化
起初我让它工作,然后由于某种原因,它给了我一个关于 activeX 组件无法创建对象的错误 429 错误。 我实际上只是复制和粘贴。 这以前有效,但我只是更改了字体大小,使按钮更大,并重新标记了标题。 我不认为我不小心更改了其他一些设置? 知道它可能是什么吗?
该评论由网站上的主持人最小化
你好! 我想让命令按钮发送一封以 Word 文档作为电子邮件正文的电子邮件(我的 Word 文档是一个表单)。 有没有办法做到这一点?
该评论由网站上的主持人最小化
我希望我的文档以 PDF 文档而不是 Word 文档的形式发送。
该评论由网站上的主持人最小化
例如,在 Word 文档中使用文本框/文本字段中的文本,并将其作为文本插入电子邮件的主题行?
该评论由网站上的主持人最小化
是的,这也是我所追求的,有人可以帮忙解决这个请求吗?
该评论由网站上的主持人最小化
这是否也适用于 Lotus Notes?
我必须在“xOutlookObj”中更改什么?
该评论由网站上的主持人最小化
嗨扩展办公室,
我们可以设置其他未链接到 Outlook 的电子邮件吗? 喜欢直接向 GoDaddy 帐户发送电子邮件?
该评论由网站上的主持人最小化
我试图找出相同的信息。 我使用 gmail,我需要创建一个表单来发送到不同的电子邮件地址,这些电子邮件地址可以自动提交回我的 gmail 帐户。
该评论由网站上的主持人最小化
我已经创建了文档,但我现在的问题是,如果我将此表单发送给 4 个人来完成,当他们从电子邮件附件中打开它时,它会以只读模式打开,当他们点击提交时,它会要求他们像以前一样保存它将允许代码打开发给我的电子邮件。 除了给他们文件的位置之外,有没有办法解决这个问题?
该评论由网站上的主持人最小化
您可以在此代码中添加密件抄送吗? 我尝试添加密件抄送并收到预期表达式的编译错误。
该评论由网站上的主持人最小化
你好,希瑟,

您可以在此代码中添加密件抄送。 例如,您可以在 .To = "yy@addin99.com" 的下方添加 .Bcc = "zmt@addin99.com"。 所以代码变成了:

将 xOutlookObj 调暗为对象
将 xEmail 暗淡为对象
将 xDoc 调暗为文档
Application.ScreenUpdating = False
设置 xOutlookObj = CreateObject("Outlook.Application")
设置 xEmail = xOutlookObj.CreateItem(olMailItem)
设置 xDoc = ActiveDocument
xDoc.保存
使用 xEmail
.Subject = "传真数据"
.Body = "这是一封测试邮件。"
.To = "yy@addin99.com"
.Bcc = "zmt@addin99.com"
.Importance = olImportanceNormal
.Attachments.Add xDoc.FullName
。显示
结束
设置 xDoc = 无
设置 xEmail = 无
设置 xOutlookObj = 无
Application.ScreenUpdating =真

请看附图。 祝你今天过得愉快。
Sincerely,
曼迪https://www.extendoffice.com/images/stories/comments/comment-zmt/Add_Bcc_to_code.png
该评论由网站上的主持人最小化
你好人,

我想应用一个按钮,单击该按钮并将文档作为电子邮件而不是附件发送到一个电子邮件地址。 这样文档就是电子邮件的文本。 就像功能区上“发送给收件人”按钮的效果一样。

有人可以给我正确的代码吗?

感谢。
该评论由网站上的主持人最小化
你好,
可能是代码无法将当前的word文档作为邮件正文发送,否则会丢失文档中的图片和文件格式。
如果您想将当前文档作为电子邮件正文发送,邮件合并可以帮您一个忙。
您需要邮件合并来发送电子邮件吗?
如果您需要,请在此处发表评论。
谢谢!
该评论由网站上的主持人最小化
你好,

感谢您的帮助!

我会根据您的建议尝试一下。 所以是的,我需要邮件合并来发送电子邮件。
该评论由网站上的主持人最小化
你好,

感谢您的帮助!

我会根据您的建议尝试一下。 你能给我邮件合并的代码吗?

谢谢!
该评论由网站上的主持人最小化
你好,
要将当前 Word 文档作为邮件正文发送,您可以添加 发送到邮件收件人 命令你 QAT,请这样做:
1.打开您要发送的word文件,然后点击 文件 > 附加选项.
2. 在左侧窗格中,选择 快速访问工具栏.
3。 选择 功能区中没有的命令 来自 从中选择命令.
4.选择和选择 发送到邮件收件人 然后单击按钮 添加>>.
5。 点击 OK 关闭对话框。
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-send-file-1.png

现在,这个 发送到邮件收件人 命令将显示在 快速访问工具栏 在 Word 窗口的顶部。 然后,您可以将相关信息插入到消息头中。 完成信息后,请点击 发送副本,以当前word文档为正文的消息将立即发送。

https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-send-file-3.png

请试试这个,希望它可以帮助你!
该评论由网站上的主持人最小化
我发现该按钮可以打开电子邮件,但是当使用 mailmerge 时,VBA 按钮由于某种原因变为非活动状态?
我如何确保在使用邮件合并时按钮可以让用户完成表单然后激活按钮?
该评论由网站上的主持人最小化
你好,迈克,
当我使用邮件合并功能时,该按钮处于活动状态。
你能更详细地解释你的问题吗?
或者您可以在这里上传您的文件,以便我们检查问题出在哪里。
谢谢!
该评论由网站上的主持人最小化
嗨,天阳,

请参阅我在下面发布的帖子,其中附有副本。
该评论由网站上的主持人最小化
嗨,
请参阅下面随附的文件。
我需要更新它以供 2023 年续订使用,并且当合并按钮似乎被禁用时,因为几个成员告诉我它不起作用。

谢谢,

Mike
查看附件 (1 / 5)
该评论由网站上的主持人最小化
你好,迈克,
我已经在我的电脑上测试了你的文件,效果很好。 我正在使用 Office 2019。请看下面的演示:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/send-doeument.gif
该评论由网站上的主持人最小化
嗨,天阳,

我发现这在用户使用 MS Word 时有效,但它似乎是@hotmail 之类的电子邮件; @gmail; 和@live 电子邮件地址那些用户遇到按钮不起作用的问题?
如果用户依赖于使用这些而不是计算机,它似乎也不适用于智能手机。
最后,我收到了另一位使用 Windows 11 的用户的回复,该按钮根本不起作用。

请问您对上述示例有何体验?

谢谢,

Mike
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护