1 (изменено: sega.83, 2019-06-05 20:33:03)

Тема: AHK:Поиск определенного слова в *.docx

Подскажите пожалуйста команду для поиска определенного слова в документе Word?
Имеется открытый документ Word, который подвергается редактированию.
Необходимо в тексте найти слово "Диагноз" и сделать по нему щелчок мышью.
Стандартный Word-овский поиск не подходит, так как таких слов в документе нужно найти множество.

Пока нашел только такой выход с поиском картинки, но это не самый лучший способ так как документ может масштабироваться и в этом случае поиск по картинке происходит не корректно.

F3::
Macro1:
CoordMode, Pixel, Window
ImageSearch, FoundX, FoundY, 520, 420, 800, 800, Диагноз.png
If ErrorLevel = 0
	Click, %FoundX%, %FoundY% Left, 1
If ErrorLevel
	Loop, 2
		SoundBeep
Return

2

Re: AHK:Поиск определенного слова в *.docx

Читайте про объектную модель ворда.

3

Re: AHK:Поиск определенного слова в *.docx

sega.83


#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#SingleInstance force   ; игнор уже запущенного скрипта, переоткрытие


Path = % A_Desktop "\Документ Microsoft Word.docx"

oWord := ComObjCreate("Word.Application")
oWord.Visible := true
oWord.Documents.Open(Path)


slovo := "Диагноз"
zamena := "Неизлечим"


FindAndReplace( oWord, slovo, zamena)

FindAndReplace( obj, search, replace )
{
	obj.Selection.Find.ClearFormatting
	obj.Selection.Find.Replacement.ClearFormatting
	obj.Selection.Find.Execute( search, 0, 0, 0, 0, 0, 1, 1, 0, replace, 2)
}


oWord.ActiveDocument.Save
oWord.ActiveDocument.close
oWord.quit