0

我是论坛的新手,很高兴成为其中的一员。我已经有这个特定的问题大约三周了。

我要做的是创建一个为我自动执行功能的宏。我必须一直处理大量合同并在每个 .doc 上输入信息(如姓名、地址和 ID 号),而不是将该文档保存为 PDF 非常耗时。所以我尝试创建一个excel表,我可以在其中输入自动保存到.doc的信息,这个复制+粘贴是通过特殊的粘贴功能完成的(如果我在excel中更改某些内容,它会更改.doc,所以我有整个在我输入 excel 时,我用一些空格填写了合同)。

在用适当的信息填充 excel 中的单元格后,我需要将该文档“另存为”为 PDF,其中包含来自其中一个单元格的信息(在这种情况下,特定单元格是输入公司名称的位置),然后我需要o 将该 Excel 表格复制到一个新选项卡中,该选项卡将具有公司名称(与保存 .doc 的单元格相同)。

这是我到目前为止所拥有的:

Sub Autocontratos()

Set appWD = CreateObject("Word.Application")
appWD.Visible = True

appWD.Documents.Open Filename:="C:\Users\lguimaraes\Dropbox\Trabalho em equipe\Laurence\Contracts.docx"

appWD.ActiveDocument.SaveAs Filename:= _
    ThisWorkbook.Path & "/" & "Contratos" & Range("C2").pdf, ExportFormat:= _
    wdExportFormatPDF, OpenAfterExport:=True, OptimizeFor:= _
    wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
    Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
    CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
    BitmapMissingFonts:=True, UseISO19005_1:=False
    ChangeFileOpenDirectory "C:\Users\lguimaraes\Dropbox\Trabalho em equipe\Laurence\Contratos"

appWD.ActiveDocument.Close
appWD.Quit

End Sub
4

1 回答 1

1

尝试将问题行的开头更改为:

appWD.ActiveDocument.ExportAsFixedFormat Filename:= _
     ThisWorkbook.Path & "\" & "Contratos" & Range("C2") & ".pdf", ExportFormat:= _

并保持另一部分相同。

评论后编辑:

比回到“另存为”方法并尝试以下操作:

appWD.ActiveDocument.SaveAs _
ThisWorkbook.Path & "\" & "Contratos" & Range("C2") & ".pdf", FileFormat:=17

这次尝试使用新指令而不是复杂的“.SaveAs”方法。

于 2013-03-19T19:55:14.813 回答