|
这是培训群里一个群友今天提出的问题。顺手做了个例子,供大家使用。
据说,将文件发布为XPS或者PDF是Office 2007版就有的功能,——不过我几乎没用过2007版,而是2010和2013版的。由此PDF与Word之间的互转就方便了很多。需要注意的是:
- 扫描的PDF属于图片形式,如果使用了这个功能,我只能告诉你,这会成为你了解乱码的一个途径。
- 另外,加密的PDF应该也是无法转换的。
- 即便PDF可以转Word,如果含有表格或者图片等对象,往往会出现格式问题,需要进一步修改。所以不太建议这样转。
不过,我们Word批量转PDF还是没问题的。按惯例,这时候应该贴代码了(PDFToWord请参考附件,采用“打开/另存”方式即可转,这里不再贴代码):
- Sub WordToPDF()
- '文件拾取器
- Dim fd As FileDialog
- '定义word应用程序和word文档组件
- Dim objWord As Word.Application
- Dim doc As Word.Document
- '定义PDF文件名(绝对路径)
- Dim strNewName As String
- Dim i As Long
- Set fd = Application.FileDialog(msoFileDialogFilePicker)
- With fd
- .AllowMultiSelect = True
- '清空默认,只允许打开word文档
- .Filters.Clear
- .Filters.Add "Word文档", "*.doc;*.docx"
- '如果打开
- If .Show = -1 Then
- Set objWord = New Word.Application
- For i = 1 To fd.SelectedItems.Count
- Set doc = objWord.Documents.Open(fd.SelectedItems(i))
- strNewName = Left(doc.FullName, InStr(1, doc.FullName, ".") - 1) & ".pdf"
- '如果文件存在则删除
- If Len(Dir(strNewName)) > 0 Then Kill strNewName
- '导出PDF文档,并关闭Word
- doc.ExportAsFixedFormat strNewName, wdExportFormatPDF
- doc.Close
- Next
- MsgBox "已转换完毕", vbInformation, "Roych提醒您"
- End If
- End With
- objWord.Quit
- End Sub
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|