【问题标题】:Copy single cell in Excel, paste into Word, save as PDF and repeat 1,000+ times在 Excel 中复制单个单元格,粘贴到 Word,另存为 PDF 并重复 1,000 多次
【发布时间】:2015-09-21 15:25:22
【问题描述】:

我需要从 Excel 中的单个单元格复制 URL,将其粘贴到 Word 文档中,然后将其另存为 PDF,然后对该列中的每一行重复。手动操作会花费大量时间,我想为什么不尝试在这里询问。

【问题讨论】:

标签: vba excel pdf


【解决方案1】:

在运行此之前,从 Excel 中的 VBA 浏览器中,在工具菜单下选择“参考”。

然后确保选中“Microsoft Office 14.0 对象库”和“Microsoft Word 14.0 对象库”,然后单击“确定”。

如果没有 14.0,请选中这两个框以查看您显示的任何版本。

此代码假定 (1) 数据从单元格 A1 开始,并一次继续一个单元格(A1、A2、A3 等),并且 (2) 输出文件夹已经存在。

Sub URLtoPDF()

  Dim DocPath As String
  Dim DocNumber As Integer
  Dim MsgBoxCompleted

  Range("A1").Select
  DocNumber = 1

  Do Until IsEmpty(ActiveCell)

    Dim AppWord As Word.Application
    Set AppWord = CreateObject("Word.Application")

    AppWord.Visible = False

    ActiveCell.Copy

    DocPath = "C:\docs\url" & DocNumber & ".pdf"

    'Create and save pdf
    AppWord.Documents.Add
    AppWord.Selection.Paste
    AppWord.ActiveDocument.SaveAs2 Filename:=DocPath, FileFormat:=wdFormatPDF

    'Prepare for next loop
    Application.CutCopyMode = False
    AppWord.Quit (wdDoNotSaveChanges)
    Set AppWord = Nothing
    ActiveCell.Offset(1, 0).Select
    DocNumber = DocNumber + 1

  Loop

  MsgBoxCompleted = MsgBox("Process complete.", vbOKOnly, "Process complete")

End Sub

可以通过更改 DocPath 变量分配的路径部分来更改所需的输出位置。

祝你好运!

【讨论】:

  • 我想补充一点,PDF 中的结果将被包裹到单元格的宽度,因此请确保您事先已适当调整了单元格的大小。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-25
  • 2017-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-21
  • 2017-07-04
相关资源
最近更新 更多