将 Word 用作自动化服务器时提示保存 Normal.dot

http://support.microsoft.com/kb/285885/zh-cn

症状

同时自动化多个 Microsoft Word 实例时,用户可能收到下面的一个或多个警告:
“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)
如果对 Normal.dot 模板进行了更改,就可能会出现这些警告。

解决方案


要解决此问题,请执行下列操作之一:
  • 在退出 Word 或将控制权移交给用户之前,应将 Normal.dot 模板的 Saved 属性设置为 True,如下所示:
    Application.NormalTemplate.Saved = True
    					
    - 或 -

  • 设置 Quit 方法的 SaveChanges 参数,如下所示:
    Application.Quit SaveChanges:=wdDoNotSaveChanges
    					


更多信息


重现此问题的步骤

  1. 在 Visual Basic 中,新建一个标准 EXE 项目。默认情况下会创建 Form1。
  2. 在“项目”菜单上,单击“引用”,然后添加一个指向 Microsoft Word 对象库版本的引用。
  3. 向 Form1 中添加一个 CommandButton 控件。
  4. 向窗体中添加以下代码:
    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
    					
  5. 运行该 Visual Basic 项目并单击命令按钮。
  6. 将出现一个消息框,指导您更改第二个文档的默认字体。在“格式”菜单上,单击“字体”,然后单击“默认”。当询问您是否更改默认字体时,单击“是”,然后单击“确定”取消消息框。
当关闭第二个 Word 实例时,将出现在“摘要”部分显示的警告之一。

要解决以上代码中的此问题,请执行以下操作之一:
  • 在 wdApp2.Quit 方法的调用语句之前,添加以下行:
        wdApp2.NormalTemplate.Saved = True
    					

    - 或 -

  • 使用 Quit 方法的 SaveChanges 参数,如下所示:
        wdApp2.Quit SaveChanges:=wdDoNotSaveChanges
    					
这篇文章中的信息适用于:
关键字: 
kbautomation kbprb KB285885

Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

你可能感兴趣的:(将 Word 用作自动化服务器时提示保存 Normal.dot)