基本中の基本ではありませんが、相手のアプリケーションオブジェクトを
作成して、相手のクラスにあるオブジェクトやメソッドが使えます。
例えば、excel側のvbaからwordを操作するには、
Dim wordapp As Object
Set wordapp = CreateObject("Word.Application")
としてword操作用のオブジェクトを作ってwordのクラスを使います。
(※VBEで'microsoft word xx object library'の参照設定もした方が何かと便利)
下のサンプルは、EXCELシートのA1セルにWord文書のフルパスファイル名、
A2セルに検索文字をセットしてWord文書の中身をサーチし、A3セルに
見つかった検索文字の右5文字をA3セルにセットしています。
参考になりましたら、後はいろいろ調べて下さい。
(サンプル)
Sub data_set()
Dim doc_name As Variant
Dim sarch_word As Variant
Dim result_word As Variant
sarch_word = Cells(1, 2).Value
Call get_word(doc_name, sarch_word, result_word)
Cells(1, 3).Value = result_word
End Sub
Sub get_word(ByRef doc_name, ByRef sarch_word, ByRef result_word)
Dim wordapp As Object
Set wordapp = CreateObject("Word.Application")
wordapp.Visible = True
wordapp.Documents.Open Filename:=doc_name, ReadOnly:=True
wordapp.Selection.Find.ClearFormatting
wordapp.Selection.Find.Text = "excel"
wordapp.Selection.Find.Forward = True
wordapp.Selection.Find.Wrap = wdFindContinue
If (wordapp.Selection.Find.Execute = True) Then
wordapp.Selection.MoveRight Unit:=wdCharacter, Count:=5, Extend:=wdExtend
result_word = Right(wordapp.Selection.Text, 5)
Else
result_word = "Not Found"
End If
wordapp.Quit
Set wordapp = Nothing
End Sub
お礼
yyr446さん 回答有難うございます。早速試してみます。