遅延バインディング ( http://support.microsoft.com/kb/245115 ) およびGetObject
. Word の複数のインスタンスを開いている場合、特にそれらのいずれかを取得できるとは限りません。
Word のインスタンスを取得すると、ActiveDocument
またはアプリケーションの現在のにアクセスできますSelection
。エラーチェックを行って、必要なものが得られていることを確認することをお勧めします。
Sub GetWordDocument()
Dim wdApp As Object
'Turn off error handling since if the Application is not found we'll get an error
'Use Late Binding and the GetObject method to find any open instances of Word
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
On Error GoTo 0
'Check to see if we found an instance. If not you can create one if you desire
If wdApp Is Nothing Then
MsgBox "No instances of Word found"
Exit Sub
End If
'Check if there are documents in the found instance of Word
If wdApp.Documents.Count > 0 Then
wdApp.Selection.TypeText "Cool, we got it" & vbCr
'You can now access any of the active document properties too
wdApp.ActiveDocument.Range.InsertAfter "We did indeed"
End If
'Clean up the Object when Finished
Set wdApp = Nothing
End Sub