C# 读写Word :提示将 Word 用作自动化服务器时提示保存 Normal.dot (独占Normal.dot,没办法读写的解决方案)
Posted on 2009-06-17 21:52 且行且思 阅读(1310) 评论(0) 编辑 收藏 举报详细的:将 Word 用作自动化服务器时提示保存 Normal.dot
http://support.microsoft.com/kb/285885/zh-cn
同时自动化多个 Microsoft Word 实例时,用户可能收到下面的一个或多个警告:
如果对 Normal.dot 模板进行了更改,就可能会出现这些警告。
“Normal.dot was being edited by another Word session.If you save this document with the original name, you will overwrite any changes made in the other session.Do you want to save the document using the original name anyway?”
- 或 -
This file is in use by another application or user.(C:\Documents and Settings\...\Normal.dot)
解决方案
要解决此问题,请执行下列操作之一: 在退出 Word 或将控制权移交给用户之前,应将 Normal.dot 模板的 Saved 属性设置为 True,如下所示:...
要解决此问题,请执行下列操作之一:
- 在退出 Word 或将控制权移交给用户之前,应将 Normal.dot 模板的 Saved 属性设置为 True,如下所示:
Application.NormalTemplate.Saved = True
- 设置 Quit 方法的 SaveChanges 参数,如下所示:
Application.Quit SaveChanges:=wdDoNotSaveChanges
更多信息
重现此问题的步骤 在 Visual Basic 中,新建一个标准 EXE 项目。默认情况下会创建 Form1。 在“项目”菜单上,单击“引用”,然后添加一个指向...
重现此问题的步骤
- 在 Visual Basic 中,新建一个标准 EXE 项目。默认情况下会创建 Form1。
- 在“项目”菜单上,单击“引用”,然后添加一个指向 Microsoft Word 对象库版本的引用。
- 向 Form1 中添加一个 CommandButton 控件。
- 向窗体中添加以下代码:
Private Sub Command1_Click() Dim wdApp1 As Word.Application Dim wdApp2 As Word.Application Set wdApp1 = CreateObject("Word.Application") wdApp1.Visible = True wdApp1.Documents.Add Set wdApp2 = CreateObject("Word.Application") wdApp2.Visible = True wdApp2.Documents.Add MsgBox "Change the default font of document 2." wdApp2.ActiveDocument.Close False wdApp2.Quit Set wdApp2 = Nothing wdApp1.Quit Set wdApp1 = Nothing End Sub
- 运行该 Visual Basic 项目并单击命令按钮。
- 将出现一个消息框,指导您更改第二个文档的默认字体。在“格式”菜单上,单击“字体”,然后单击“默认”。当询问您是否更改默认字体时,单击“是”,然后单击“确定”取消消息框。
要解决以上代码中的此问题,请执行以下操作之一:
- 在 wdApp2.Quit 方法的调用语句之前,添加以下行:
wdApp2.NormalTemplate.Saved = True
- 或 - - 使用 Quit 方法的 SaveChanges 参数,如下所示:
object saveOption = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
wa.QuIT(ref saveOption, ref Missing, ref Missing);