1.在word中.如何进入邮件合并
邮件合并 “邮件合并”是Word的一项高级功能,是办公自动化人员应该掌握的基本技术之一。
但是大多数书上对“邮件合并”的介绍都很简单,如果按照书的上介绍去做,合并打印出的邮件并不能完全令人满意。教你几个邮件合并技巧,希望能帮你提高办公效率。
1. 用一页纸打印多个邮件 利用Word“邮件合并”可以批量处理和打印邮件,很多情况下我们的邮件很短,只占几行的空间,但是,打印时也要用整页纸,导致打印速度慢,并且浪费纸张。 造成这种结果的原因是每个邮件之间都有一个“分节符”, 使下一个邮件被指定到另一页。
怎样才能用一页纸上打印多个短小邮件呢?其实很简单,先将数据和文档合并到新建文档,再把新建文档中的分节符(^b)全部替换成人工换行符(^l)(注意此处是小写英语字母l,不是数字1)。 具体做法是利用Word的查找和替换命令,在查找和替换对话框的“查找内容”框内输入“^b”,在“替换为”框内输入“^l”,单击“全部替换”,此后打印就可在一页纸上印出多个邮件来。
2. 一次合并出内容不同的邮件 有时我们需要给不同的收件人发去内容大体一致,但是有些地方有区别的邮件。 如寄给家长的“学生成绩报告单”,它根据学生总分不同,在不同的报告单中写上不同的内容,总分超过290分的学生,在报告单的最后写上“被评为学习标兵”,而对其它的学生,报告单中则没有这一句。
怎样用同一个主文档和数据源合并出不同的邮件?这时就要用到“插入Word域”。 在邮件中需出现不同文字的地方插入“插入Word域”中的“if…then…else(I)…”。
以“学生成绩报告单”为例,具体做法是将插入点定位到主文档正文末尾,单击邮件合并工具栏中“插入Word域”,选择下级菜单中的“if…then…else(I)…”,在出现的对话框中填入,单击“确定”按钮。 有时可根据需要在两个文字框中写入不同的语句。
这样就可以用一个主文档和一个数据源合并出不同内容的邮件来。 3. 共享各种数据源 邮件合并除可以使用由Word创建的数据源之外,可以利用的数据非常多,像Excel工作簿、Access数据库、Query文件、Foxpro文件内容都可以作为邮件合并的数据源。
只要有这些文件存在,邮件合并时就不需要再创建新的数据源,直接打开这些数据源使用即可。需要注意的是:在使用Excel工作簿时,必须保证数据文件是数据库格式,即第一行必须是字段名,数据行中间不能有空行等。
这样可以使不同的数据共享,避免重复劳动,提高办公效率。 4. 筛选与排序 用邮件合并帮助器中的“查询选项”,可以筛选记录有选择地进行合并,也可以在合并的同时对记录进行某种排序。
工作时记住它们,可以提高你的办公效率。 用OFFICE邮件合并功能给多个人写信 许多人都有过同时给多个人发信的经历,例如生日邀请、节日问候,或者单位里写给客户的信件。
这些邮件当然不能“批量发信”了事,必需使用特定的称呼和问候语,使得信件就像单独写出来一样。但如果分别给每个人写信,又实在太麻烦了。
利用Office 97/2000的邮件合并功能,可以大大地简化这类工作。 邮件合并涉及两个文档:第一个文档是邮件的内容,这是所有邮件相同的部分,以下称“主文档”;第二个文档包含收件人的称呼、地址等每个邮件不同的内容,以下称“收件人列表”。
第二个文档中的内容也可以从其他程序得到,比如Outlook的联系人列表。 执行邮件合并操作之前首先要创建这两个文档,并把它们关联起来,也就是标识收件人列表中的各部分信息在第一个文档的什么地方出现。
例如,指定在主文档的哪些位置应当出现收件人列表中的“称呼”。 完成后就可以“合并”这两个文档,为每个收件人创建邮件。
以后再次给这些人发信时,只需要创建主文档或修改已有的信件,然后再运行邮件合并功能就可以了,非常方便、快捷。 一、创建收件人列表 假设包含信件内容的主文档已经准备好,现在打开它。
选择“工具/邮件合并”,出现“邮件合并帮助器”窗口,单击“创建”,选择“套用信函”,在下一个对话框中选择“活动窗口”。 现在又回到了“邮件合并帮助器” 窗口。
单击“获取数据”按钮,再选择“创建数据源”以定义收件人信息。在“创建数据源”对话框中系统已经自动创建了许多域,我们还可以删除和添加域。
完成域名定义后,单击“确定”,输入该收件人列表的文件名,选择“保存”。 回到“邮件合并帮助器”窗口后,单击“编辑数据源”,在对话框中输入第一个收件人的各项数据。
单击“新增”接着输入下一个收件人信息,重复上述过程直至输入所有收件人的信息。 二、插入合并域 返回主文档界面之后,接下来的任务是将合并域(例如姓名或称呼等)插入到主文档的合适位置。
将插入光标移到域内容应当出现的位置,单击“邮件合并”工具条上的“插入合并域”,在下拉列表框选择合适的域,比如当光标所在的位置应当是你对收件人的称呼时,就选择域“称呼”。 重复上述过程直至加入了所有的域。
如果要查看合并后的效果,单击“邮件合并”工具条上的“查看合并数据”按钮,此时就会出现将收件人列表第一个记录内容合并到邮件正文后的。
2.如果以excel中的数据为数据源,如何在word中进行邮件合并
以制作信封为例。
准备阶段 (1)新建一个Excel文档“作者名单”,将作者名单的各项信息输入到该文档,如:邮政编码、通讯地址、姓名等; (2)新建一Word文件“信封”,调用【工具】菜单下的【信函与邮件】子菜单中的【中文信封向导】命令,打开【信封制作向导】对话框(没有此功能须用Office源盘来安装),根据向导提示设计一个信封,设置好字体、字号。 调用数据 (1)在“信封”文件中,调用【视图】菜单的【邮件合并】命令,显示邮件合并工具栏,单击【打开数据源】工具按钮,按提示选择新建的Excel文件“作者名单”,选择Sheet1。
(2)选择“000000”(代表邮政编码),点击邮件合并工具栏[插入域]按钮,在对话框中选择插入“邮政编码”,“000000”被“《邮政编码》”所代替。 然后进行同样操作,替换“地址”、“姓名”。
(3)点击邮件合并工具栏【查看合并数据图标】按钮,会显示“作者名单”中的作者数据。 。
3.高手进,高分
你的这个要求不适合用 Word 的邮件合并功能!你可以借鉴机打支票的模式。
1、假设你的数据在 Excel 的 Sheet1 表中。Sheet1 表设计如下图:
其中:在第2行与第3行之间冻结窗格,以便数据增加后能够始终显示打印份数、行号和打印按钮。
2、把 Word 文档的内容放到 Excel 的 Sheet2 表中,通过单元格合并及合适的行高、列宽等设置,尽量把 Sheet2 的内容设置为满意的打印版面。
3、编写打印按钮的vba代码。代码大概过程为:先根据打印行号把 Sheet1 表中对应行的值写入 Sheet2 表的相应位置;然后根据指定的打印份数开始打印 Sheet2 表。
当然,代码中可以添加如果行号、份数为空的判断,以及要打印行任意一个数据为空的情况判断。
大概就这么多了,由于不知道你的 Word 文档转为 Sheet2 表后的具体格式,无法写具体代码。
不过,其实代码也不是很复杂,自己搜索下,实在不会了可以再来提问。
4.word中的邮件合并怎么做
作为一名财务人员,笔者负责单位往来账项的询证工作。
查阅凭证、合同台账和合同原件,笔者费了九牛二虎之力,总算把本单位与百余家公司的往来账项搞清楚了,并编辑成了一张Excel表格,接下来就要根据这些数据编制百余份询证函。难道还要笔者再费力地重复劳动吗?不,我们自有办法。
技术看点:邮件合并功能。 一、制作明细表 首先按照图1的格式制作“往来账项明细表。
xls”。笔者使用Office 2003,在其他版本的Office中操作略有不同,请朋友们注意。
二、询证函的格式 为了叙述清楚,我们假设询证函的格式如图2所示(实际的询证函长达3页,编号中的最后一位数字即表示该询证函有3页内容),该文件名称为“询证函。 doc”。
在这张询证函中有5处内容取自“往来账项明细表。xls”,即图2中标注的①、②、③、④、⑤处。
三、进行“邮件合并” 1。启动Word,打开“询证函。
doc”,执行“工具→信函与邮件→邮件合并”命令,打开“邮件合并”任务窗格。 2。
选择“信函”项,单击“下一步”;选择“使用当前文档”项,单击“下一步?选取收件人”;选择“使用现有列表”项,单击“下一步?撰写信函”。 3。
进入“选取数据源”对话框,在“文件类型”框中选择“Excel文件”,然后在文件列表框中,双击“往来账项明细表。 xls”。
4。在“选择表格”对话框中,单击所需要的工作表,勾选“数据首行包含列标题”复选框,单击“确定”按钮。
5。在“邮件合并收件人”对话框中,对数据进行编辑后,单击“确定”按钮。
6。执行“工具→信函与邮件→显示邮件合并工具栏”命令,打开“邮件合并”工具栏。
单击“询证函。doc”文档中的①处,然后在“邮件合并”工具栏中单击“插入域”按钮,进入“插入合并域”窗口;选择“数据库域”,然后在“域”栏中单击“顺序号”,依次单击“插入”和“关闭”按钮。
同理,将文档中的②、③、④、⑤处分别指定为“公司名称”、“项目”、“贵公司欠”和“欠贵公司”。 至此,“询证函。
doc”文档显示如图3所示。文档中书名号及里面的部分就对应着“往来账项明细表。
xls”文件的相关项目。 四、完成“邮件合并” 在“邮件合并”任务窗格中,单击“下一步?撰写信函”,然后单击“下一步? 预览信函”,再单击“下一步? 完成合并”,至此邮件合并完成。
想看看合并后的结果吗?在“邮件合并”窗格中单击“编辑个人信函”,此时Word将弹出“合并到新文档”对话框,选择“全部”,点击“确定”按钮后就可以看到合并后的信函文档了。 编后:上例使用Word的“邮件合并”功能把Word文档和Excel二维表格完美地合并到一处,实现了数据的批量处理,有效减轻了工作量。
在财务工作中经常遇到类似情况,朋友们不妨一试。
5.MS word 2003宏(邮件合并自动加载Excel数据库,合并完后自动保存
条件:从当前用户桌面的Excel表获取数据源,Excel表数据源的名字从用户D盘的1.xls Sheet1!A1获取 运行第一个宏加载数据库必须先打开一个Excel表,否则会出错 运行第二个宏合并1-6条记录至桌面,并关闭 由于第一次写这种东东 好多地方还要优化,稍候在附上,后面将将实现一键实现从数据加载到合并至指定位置,简化大家的工作量 第一个宏编写:Sub 加载数据库()'' 加载数据库 Macro' 宏在 2011-6-11 由 雨林木风 录制' chan = DDEInitiate(app:="Excel", topic:="system") '打开一个DDE通道 DDEExecute channel:=chan, Command:="[open(" & Chr(34) & "D:\1.xls" & Chr(34) & ")]" '在一个应用程序中执行打开.xls文件命令,需要指出的是,系统要求所需文件必须放在D盘。
DDETerminate channel:=chan '关闭DDE通道 chan = DDEInitiate(app:="Excel", topic:="D:\1.xls") '打开一个DDE通道 Dim s As String Dim q As String Dim y As String s = DDERequest(channel:=chan, Item:="R1C1") DDETerminateAll Dim excelClose As Object Set excelClose = GetObject(, "Excel.Application") excelClose.workbooks("1.xls").Close False y = Left(s, Len(s) - 1) q = "C:\Documents and Settings\" & Environ("USERNAME") & "\桌面\" & y & ".xls" ActiveDocument.MailMerge.OpenDataSource Name:=q, _ ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _ AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _ WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _ Format:=wdOpenFormatAuto, Connection:= _ "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=q;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Data" _ , SQLStatement:="SELECT * FROM `Sheet1$`", SQLStatement1:="", SubType:= _ wdMergeSubTypeAccess End Sub 第二个宏已经变相的实现:多谢这个帖子: 下面是代码:Sub 保存至桌面()'主文档的类型为信函'合并全部数据记录'假设主文档已链接好数据源,可以进行正常的邮件合并 Dim myMerge As MailMerge, i As Integer, myname As String Application.ScreenUpdating = False Set myMerge = ActiveDocument.MailMerge With myMerge.DataSource If .Parent.State = wdMainAndDataSource Then .ActiveRecord = wdFirstRecord .FirstRecord = 1 .LastRecord = 6 .Parent.Destination = wdSendToNewDocument '取得数据源第1个和第2个字段(合并域)的当前数据字符串,用以命名文件,根据需要增减修改 myname = .DataFields(9).Value & " (" & .DataFields(35).Value & "Km" & ")" .ActiveRecord = wdNextRecord .Parent.Execute '每次合并一个数据记录 With ActiveDocument .Content.Characters.Last.Previous.Delete '删除分节符 .SaveAs "C:\Documents and Settings\" & Environ("USERNAME") & "\桌面\" & myname & ".doc" '假设生成的各文档保存于c盘桌面 .Close '关闭生成的文档(已保存) End With End If End With End Sub。
转载请注明出处51数据库 » word邮件合并vba