Dim objWord ' As Word.Application
  Dim objWindow ' As Word.Window
  On Error GoTo NoWordOpened
  Set objWord = GetObject(, "word.application")
 
  For Each objWindow In objWord.Windows
   If objWindow.Document.FullName <> "" Then
     你的代码
     exit sub
   End If
  Next
NoWordOpened:
当然你可以把它改写为一个函数就更方便了。

解决方案 »

  1.   

    On Error Resume Next
    Err.Clear
    Set ob = GetObject(, "word.application")
    If Err.Number = 0 Then
       MsgBox "Word已经运行"
       Else
       MsgBox "Word没有运行"
    End If
      

  2.   

    建议你用donotbesilent(惊叹不已) 的方法,只不过我的代码还有别的用途,
    如:可以判断word是否打开了特定的*.doc文档
    但较麻烦。
      

  3.   

    来晚了,同上
    用createobject("word.application")建立WORD对象实例
    然后用on error goto err 来判断实例是否已建立!