如何通过单击excel工作表中的按钮将mailmerge宏从excel使用到word

如何通过单击excel工作表中的按钮将mailmerge宏从excel使用到word,excel,vba,ms-word,mailmerge,Excel,Vba,Ms Word,Mailmerge,我正在尝试创建一个代码,只需单击excel工作表中的一个按钮即可执行该代码,并要求我在excel中输入单元格值,然后从该单元格的行中获取所有数据,并相应地将其插入邮件合并标记所在的word模板中。 例如: 我的excel工作表中有如下数据: IDA1,姓名B1,姓氏C1,国家1,日期1 美国史密斯C2约翰布2号3782326252,2020E2年2月29日 322783145A3,JoshuaB3,BrandC3,美国D3,2020E3年2月27日 我想有一个按钮,它将要求一个ID输入,然后将采

我正在尝试创建一个代码,只需单击excel工作表中的一个按钮即可执行该代码,并要求我在excel中输入单元格值,然后从该单元格的行中获取所有数据,并相应地将其插入邮件合并标记所在的word模板中。 例如: 我的excel工作表中有如下数据:

IDA1,姓名B1,姓氏C1,国家1,日期1 美国史密斯C2约翰布2号3782326252,2020E2年2月29日 322783145A3,JoshuaB3,BrandC3,美国D3,2020E3年2月27日

我想有一个按钮,它将要求一个ID输入,然后将采取所有其他信息的人,并把它在word模板中的正确位置

例如:

当用户运行代码时,它会弹出一个输入框,并要求他键入一个ID, 例如:322783145 然后,它将检查ID的位置,该行位于excel工作表(本例为A3)中的一列中,并将此人的其余信息拉入我事先创建的word模板中。ID、姓名、姓氏、国家和日期

稍后,我想能够自动保存到pdf以及相同的按钮,但首先我希望这是工作


提前感谢:D

您不需要VBA来回答最初发布的问题-只需使用SKIPIF字段编码为:

{SKIPIF{MERGEFIELD ID}<> {FILLIN "Which ID do you want?" \o}}
或:

其中“ID”是Excel中要合并处理的数据字段的名称

这样,只处理包含该ID的记录。不需要VBA

注意:上述示例中的字段大括号对,即“{}”,都是在文档本身中通过Mac上的Ctrl-F9 Cmd-F9创建的,或者,如果您使用的是笔记本电脑,则可能需要使用Ctrl-Fn-F9;您不能简单地在此邮件中键入或复制粘贴它们。通过任何标准的单词对话添加它们也不切实际。同样,V形符号,即“«»”是实际合并字段的一部分,您可以从“插入合并字段”下拉列表中插入该字段,即您也不能从该消息中键入或复制粘贴它们。现场施工中表示的空间都是必需的

我看到您添加了两个新要求,即:

要从Excel中的按钮运行的邮件合并;和 它还可以自动将其保存为pdf格式。
你真的不应该这样移动球门柱。你也不应该在同一条线索中问多个不同的问题。有关从Excel运行合并并将输出发送到PDF的代码,请参阅从Excel运行邮件合并,将输出发送到邮件合并提示和技巧线程中的单个文件,网址:。当然,一旦开始使用这样的宏,就需要将ID选择的逻辑添加到代码中。如果你不能理解,请在单独的帖子中提问。

你的帖子需要更多的细节,让人们了解你正在尝试做什么,以及你需要帮助的代码。您能否提供示例内容和有关预期行为的更多详细信息?我已经编辑了我的文章更详细,谢谢:你能给我一个例子,它做什么?假设我有一张包含ID、姓名和地址的excel表格A1、A2、A3。我希望能够通过输入框将ID输入word模板,它将获取该特定人员的姓名和地址,并使用邮件合并将其放入word模板中。你的做法符合描述吗?非常感谢顺便说一句:我编辑我的帖子是为了更准确地满足我的需求,非常感谢顺便说一句,我还想知道我如何将它实现到我的word模板中?我知道我必须通过Ctrl-F9编辑它,但我不知道该把代码放在哪里。这是一个新的高级excel的东西。好吧,根据你原来的问题,它会这样做,但你现在已经完全改变了参数。感谢你的链接,我使用了你推荐的代码,效果很好,你能帮我调整它,这样它将只保存最后一行的值为pdf,而不是保存所有的行为pdf吗?
{SKIPIF«ID»<> {FILLIN "Which ID do you want?" \o}}