我正在用VB.Net编写一个Microsoft Word插件,我有一个代码调用一个函数将文档保存为PDF(Office 2007)。
我使用两个函数:
Public Sub SaveLandscape_CallBack(ByVal Control As Office.IRibbonControl)
SaveEbook(True)
End Sub
和
Public Sub SaveEbook(ByVal ForceLandscape As Boolean)
Try
Dim FilePath As String = Globals.ThisAddIn.Application.ActiveDocument.Path & "\" & Globals.ThisAddIn.Application.ActiveDocument.Name & ".ebook.pdf"
Try
Globals.ThisAddIn.Application.ActiveDocument.ExportAsFixedFormat(OutputFileName:=FilePath, ExportFormat:=Word.WdExportFormat.wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:=Word.WdExportOptimizeFor.wdExportOptimizeForPrint, Range:=Word.WdExportRange.wdExportAllDocument, Item:=Word.WdExportItem.wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:=Word.WdExportCreateBookmarks.wdExportCreateHeadingBookmarks, DocStructureTags:=True, BitmapMissingFonts:=True, UseISO19005_1:=True)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Catch Ex As Exception
MsgBox(Ex.ToString)
End Try
我已经修剪了第二个,这就是为什么有这个未使用的参数 第一个功能与功能区按钮相关联。每次运行它时,ExportAsFixedFormat都会返回一个错误,指出文件正在使用中,无论我使用什么名称。
有什么想法吗?
谢谢,
CFP。
编辑:我发现问题与http://social.msdn.microsoft.com/Forums/en-US/worddev/thread/95c5b101-0d98-49f8-a92b-7b444e61cca8/完全相同。任何人的想法?
答案 0 :(得分:1)
尝试将Globals.ThisAddIn.Application.ActiveDocument.Saved = True
放在Globals...
行之前。