用VB控制word输出文档。结果用鼠标将word的其他文档激活后。发现结果输出到后面激活的那个文档里去了。
请问如何在固定的document里输入呢?

解决方案 »

  1.   

    你是采用什么方法,你应该采取对 word对象自动化操作的办法。
      

  2.   

    Dim string1 As String
    On Error Resume Next '忽略错误
    Set wordapp = GetObject(, "word.Application") '查找一个正在运行的 word 副本。
        If Err.Number <> 0 Then '如果 word 没有被运行
            Set wordapp = CreateObject("word.Application") '运行它
            wordWasNotRunning = True
        End If
    Err.Clear   ' 在错误发生的情况下清除 Err 对象。
    wordapp.Visible = True
        Set newdoc = wordapp.Documents.Add
        newdoc.Activate
    ‘后面是输入操作。
      

  3.   

    如果你是通过Selection对象来做输入操作的话就会出现这种情况。Selection对象从属于Window对象。而你用wordApp.Selection得到的是实际上是wordApp.ActiveWindow.Selection。如果用户用鼠标激活了其他文档窗口,ActiveWindow就会变成被激活的文档窗口。这就是你输入到了其他文档的原因。避免的办法是指定Selection的从属Window对象。例如:
    newDoc.ActiveWindow.Selection.InsertAfter "测试"