【发布时间】:2015-09-21 15:25:22
【问题描述】:
我需要从 Excel 中的单个单元格复制 URL,将其粘贴到 Word 文档中,然后将其另存为 PDF,然后对该列中的每一行重复。手动操作会花费大量时间,我想为什么不尝试在这里询问。
【问题讨论】:
-
excelvbatutor.com/vba_book/vbabook_ed2.pdf 这里是给初学者的小教程。它会给你一些基础知识。
我需要从 Excel 中的单个单元格复制 URL,将其粘贴到 Word 文档中,然后将其另存为 PDF,然后对该列中的每一行重复。手动操作会花费大量时间,我想为什么不尝试在这里询问。
【问题讨论】:
在运行此之前,从 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 变量分配的路径部分来更改所需的输出位置。
祝你好运!
【讨论】: