在此先感谢您提供的任何帮助。VB.Net保存word文档没有提示
我试图创建一个VB应用程序,它将打开一个现有的Word文档,进行一些更改并将其保存为一个新的文件名。对文档进行更改非常简单。保存文件似乎应该一样简单,但有一个严重的问题。当我尝试保存文档时,另存为对话框打开。这应该是自动的,所以不起作用。我已经尝试了一大堆的变化:
Sub Main()
Dim oWord As Word.Application
Dim oDoc As Word.Document
Dim fileName As String
Dim templateName As String
Dim newFileName As String
'Start Word and open the document template.
oWord = CreateObject("Word.Application")
oWord.Visible = False
oWord.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone
templateName = "C:\tmp\template.dotx"
fileName = "C:\tmp\document.docx"
newFileName = "C:\tmp\new document.docx"
oDoc = oWord.Documents.Add(templateName)
'oDoc = oWord.Documents.Open(fileName) I have tried both using a template and opening a docx file.
<make changes>
oDoc.SaveAs2(newFileName)
oWord.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
oWord.Application.Quit()
oWord = Nothing
End Sub
它总是停在这里:
oDoc.SaveAs2
,并打开另存为对话框。我需要找到一种方法来抑制另存为对话框或编辑word文件的新方法。我迄今发现的有关该问题的所有内容都未被解决/更新或与Word插件相关。我没有任何人说的引起问题的插件。为了安全起见,我禁用了所有的单词插件。
我将不胜感激,如果任何人有解决它或有不同的方法。我不会坚持使用VB的想法。我走这条路线的唯一原因是因为我认为它给了我编辑图表和格式化文档的最佳库。
谢谢你,史蒂夫
是该文件的本地或网络路径上?您确定在保存之前没有使用它吗? – Saragis
在excel中,您设置application.displayalerts = false并在saveas提示符中指定conflictResolution值。我会怀疑类似的字 – Greg
@Saragis该文件是本地的。它没有被使用。新的文件名是一个随机的UUID,所以我确定它已经不存在了。 – stevepra