Tag: mailmerge

Excelmacrosmailmerge – 导出为pdf

我正在工作的VBAmacros,它完美的作品,但我需要保存为.pdf文件。 我正在寻找提示,但我不知道如何find它们。 上次我发现这个解决scheme: vba邮件合并保存为pdf,但我不知道应用到我的macros。 这是我的代码: Sub RunMerge() Dim wd As Object Dim wdocSource As Object Dim strWorkbookName As String On Error Resume Next Set wd = GetObject(, "Word.Application") If wd Is Nothing Then Set wd = CreateObject("Word.Application") End If On Error GoTo 0 Set wdocSource = wd.Documents.Open(ThisWorkbook.Path & "\" & "ArtSpecDatabase.docx") strWorkbookName = ThisWorkbook.Path & […]

以编程方式从Excel数据创build PowerPoint幻灯片

使用Powerpoint 2010 for Mac。 我有一个100幻灯片演示文稿,需要每周创build。 每张幻灯片都有相同的模板。 每张幻灯片上的元素由5个文本字段和一张图片组成,每张幻灯片对应于Excel表格中的数据列。 任何人都可以指向我的一个代码示例或详细的演练如何可以遍历这个Excel文件的行,并以编程方式创build这些幻灯片?

保存生成的Word文件的唯一名称(mailmerge)

我需要我的macros的帮助。 我需要通过邮件合并保存生成的Word文件。 Sub RunMerge() Dim wd As Object Dim wdocSource As Object Dim strWorkbookName As String On Error Resume Next Set wd = GetObject(, "Word.Application") If wd Is Nothing Then Set wd = CreateObject("Word.Application") End If On Error GoTo 0 Set wdocSource = wd.Documents.Open("C:\Users\admin\Desktop\New folder (2)\G706014 ver.7.0.docx") strWorkbookName = ThisWorkbook.Path & "\" & ThisWorkbook.Name wdocSource.Mailmerge.MainDocumentType […]

MailMerge from Excel – 不稳定的macros观行为

下午好, 我已经设置了一个macros来生成基于此线程的个人证书( 使用Excel VBA自动化邮件合并 )。 但macros观总是performance不规律,有一天工作,把错误抛给下一个。 我得到的最常见的错误是Excel正在等待另一个应用程序(Word)执行OLE操作。 但有时候会有运行时错误,它不想知道对象。 我已经重新编写了这个macros,希望能够一劳永逸地整理这些问题,但是现在的错误并不像“结束”那样在closuresWord之前。 我有3个“Withs”,那为什么不像3个“With With”呢? – 我不只是想把“End With”拿出来,因为我觉得对于每个证书都不会打开Word并closures它。 这是问题。 macros被设置为通过Excel工作表,评估列K(r,11),如果它是空的(意味着证书尚未生成),执行m​​ailmerge并将文档保存为PDF到定义的文件夹中。 这是代码。 任何人都可以看到为什么VBA有问题吗? 谢谢! Public Sub MailMergeCert() Dim bCreatedWordInstance As Boolean Dim objWord As Word.Application Dim objMMMD As Word.Document Dim FirstName As String Dim LastName As String Dim Training As String Dim SeminarDate As String Dim HoursComp As String Dim […]

Word邮件与Excel数据合并

我在Word 2010中设置了一个邮件合并文档。我使用的数据是Excel 2010.我在一个单元格中有很多文本的数据末尾有一些字段(超过255个字符)。 文件开头的数据刚刚好,但稍后出现的logging不会 – 它们在句子中间被截断。 我确实发现,Word将某些点之后的logging视为“文本”。 我的问题是: 如何强制Word 2010将长字段(从Excel 2010)视为“备忘录”而不是“文本”? 如果我需要设置不同的MergeFields,我可以。 如果我需要以不同的方式格式化Excel中的列,我也可以这样做。 PS – 我目前没有使用任何VBA,只是一个直接的邮件合并。

使用邮件合并添加CC和BCC

我正在尝试将cc函数添加到邮件合并。 换句话说,我不仅需要将电子邮件个性化到不同的电子邮件地址。 我还希望每个电子邮件都包含一个CC,它向多个收件人显示相同的电子邮件。 例如:给John Doe的同一封电子邮件可以自动发送给他的经理。 我尝试添加,并; 以及在excel中合并两个单元格的地址,并得到错误。 我还阅读了一篇文章,展示了如何将附件发送给多个收件人,并对其进行修改以使cc工作。 看下面的文章。 http://word.mvps.org/FAQs/MailMerge/MergeWithAttachments.htm 我想到的代码如下所示。 它允许我cc,但是,它只能通过第一行的电子邮件,其余的都没有。 消息的正文也没有显示出来。 任何指针? Sub emailmergewithattachments() 'Global Config Variables Dim saveSent As Boolean, displayMsg As Boolean, attachBCC As Boolean saveSent = True 'Saves a copy of the messages into the senders "sent" box displayMsg = False 'Pulls up a copy of all messages to be […]

抑制“If..then … else”单词邮件合并中的空白行

我正试图发送一个群发邮件合并电子邮件给在authentication过程中的客户。 我在合并中使用Excel电子数据表,如果客户已经拿到了一个class,我会在数据表中用信用小时数表示(所以它们也可以作为字母的一部分加起来)。 然而,因为我想要的class级名称,而不是信用的数量,这是值得我用“if … then … else ..”字段。 因此,如果信用卡号大于0,则插入类别名称,否则它是空白的。 因此,我的合并字段如下所示: { IF { MERGEFIELD M_2713_CLASS } = 6 "Class Name" ""} 其中“6”是学分数。 大约有40个class级作为一个列表(一个在另一个之下)input。 我遇到的问题是得到客户端没有采取的类,因此是空白不显示为空白行。 我不是这个词的任何意义上的程序员,但我知道有一种方法可以做到这一点,即使在Google的帮助下,我也看不出来。 有什么build议么?

运行时错误91:对象variables或未设置块variables

我有2个单独的文档与邮件合并列表。 我有一个Excel工作簿2张。 根据工作表名称,如果工作表不是空的,我需要发送邮件到相应的单词文档。 当我尝试执行此代码时,它运行到第一个文档,并在第二个文档,它停止Run-time Error 91 : Object variable or With block variable not set 我不确定是什么原因导致了这个错误(如果是Dimvariables或With块)。 如果有人能够帮助我纠正这个错误,将不胜感激。 Sub Generate_Certificate() Dim wd As Object Dim wdoc_reg As Object Dim wdoc_occ As Object Dim strWbName_reg As String Dim strWbName_occ As String Const wdFormLetters = 0, wdOpenFormatAuto = 0 Const wdFormLetters1 = 0, wdOpenFormatAuto1 = 0 Const wdSendToNewDocument […]

从Excel工作表中只select一行(作为邮件合并的一部分)

我对VBA是全新的,我正在编写一个代码,将excel表格中每一行的合并数据发送到某个word文档,并将该文档的名称与每行的第一个单元格值相对应。 每行包含一个客户端的信息。 这就是为什么我必须邮寄每行信息分开。 到目前为止,代码工作正常,但我需要解决的两个问题: 1)在for循环的每次迭代中(循环遍历每一行), SQLStatement:="SELECT * FROM Sheet1 $ "结束了来自表中所有行的邮件合并信息。 那么会发生什么呢,每个客户端的文档也包含其他客户端的数据(excel行)。 2)通常的自动化错误,除非我保持打开源文件。 那么有人可以告诉我如何从迭代已经到达的行中select信息。 我试过SQLStatement:="SELECT rw.row* FROM Sheet1 $ "但它不起作用 任何帮助将是好事。 完整的代码是: Sub RunMerge() 'booking document begins here Dim wd As Object Dim wdocSource As Object Dim activedoc Dim strWorkbookName As String Dim x As Integer Dim cdir As String Dim client As String Dim […]

Excel VBA在邮件合并期间提示时自动选​​择是

我希望系统尽可能为用户自动执行。 现在,我有用户单击button时运行的代码。 该代码将数据打算通过邮件合并应用于Word文档。 一切都按预期工作,除了总是有一条消息popup来说 打开这个文档将运行下面的SQL命令: select* FROM'TAGS $' 数据库中的数据将被放置在文档中。 你想继续吗? 我需要保持这个尽可能简单,而不会冒用户select“否”的风险,因为他们感到困惑。 VBA如何自动继续并接受数据放置,就像他们select了“是”一样? 我试着用下面的代码来阻止警报,希望它默认“是”并继续,但没有奏效。 Application.DisplayAlerts = False 这是我的 Sub RunMailMerge() Application.ScreenUpdating = False Dim wdOutputName, wdInputName As String wdOutputName = ThisWorkbook.Path & "\nametags – " _ & Format(Date, "d mmm yyyy") wdInputName = ThisWorkbook.Path & "\nametags.docx" ' open the mail merge layout file Dim wdDoc As […]