1 (изменено: LirikDesu, 2017-12-06 12:58:30)

Тема: AHK: программа для замены слов в Microsoft Word на другой текст

Здравствуйте!

Делаю программу для замены слов в документе Microsoft Word на другой текст и сохраняющий его под другим именем.
Интерфейс я кое-как сделал, но не могу продвинуться дальше из-за других трудностей.

Во-первых, как сделать так чтобы директория выбранного файла вводилась в форму "Директория шаблона:" ( Та же история и с формой "Сохранить в")?

Во-вторых, как можно реализовать замену слов? У меня в голове есть только один способ как это сделать:
По заданной директории в программе запускается документ Word и с помощью нажатия комбинации клавиш CTRL+F запускается окно "Найти и заменить".  Нажатием CTRL+PageDown из вкладки "Найти" программа переходит во вкладку "Заменить", вводит заменяемое слово в форме "Найти:", переходит нажатием TAB в форму "заменить на" и вводит текст для замены. Дальше идет тройное нажатие TAB чтобы перейти к кнопке "Заменить всё", нажатием ESC закрывается, нажимается F12, вводится директория для сохранения, новое название файла и нажимается кнопка "Сохранить".
Возможно ли это сделать?


Gui, Show, Restore w300 h160, WorDes - Руководство
Gui, Font, s11 cBlack, Calibri
Gui, Add, Text, x15 y20 w300 h40, Видимо, это ваш первый запуск "WorDes". 
Gui, Add, Text, +center x0 y55 w300 h60, Не хотите прочитать руководство по использованию программы?
Gui, Add, Button, x15 y110 w100 h30 gObuch, Прочитать
Gui, Add, Button, x185 y110 w100 h30 gWorDes, Отказаться
return

Obuch:
Gui, Destroy
Gui, Show, w700 h570, WorDes - Руководство
Gui, Color, E3F1FA
Gui, Font, s11 cBlack, Calibri 
Gui, Add, Text, +center x30 y10 w640 h20, Добро пожаловать в руководство по использованию "WorDes"! ;
Gui, Add, Text, x15 y40 w310 h40, Для использования функционала "WorDes" вам требуется выполнить пару действий: ;
Gui, Add, Text, x15 y105 w300 h60, 1. Указать месторасположение документа, чтобы "WorDes" понял, какой документ требуется изменить.
Gui, Add, Text, x15 y175 w300 h60, 2. Указать имя документа, под которым "WorDes" его сохранит (Если не написать новое название, имя останется тем же).
Gui, Add, Text, x15 y245 w300 h20, 3. Указать папку для сохранения документа.
Gui, Add, Text, x15 y280 w300 h60, 4. Указать слова-разметки (слова, которые подлежат замене) и написать текст, на который  заменется слово.
Gui, Add, Text, x15 y350 w300 h40, 5. Нажать кнопку "Начать" и дождаться окончания работы программы.
Gui, Add, Text, x15 y410 w610 h40, После окончании работы не поленитесь проверить документы на ошибки! "WorDes" пока не совершеннен и может допускать ряд ошибок.
Gui, Add, Text, +center x50 y470 w610 h40, Обучение пройдено. Теперь вы можете приступить к работе!
Gui, Add, Button, x250 y505 w200 h50 gWorDes, Перейти к программе
Gui, Add, Picture, x330 y80 w350 h300, software.jpg ;
Return

WorDes:
Gui, Destroy
Gui, Color, E3F1FA
Gui, Show, w450 h480, WorDes
Gui, Font, s11 cBlack, Calibri
Gui, Add, Text, x10 y12 w145 h20, Директория шаблона:
Gui, Add, Text, x10 y43 w145 h20, Назвать документ как:
Gui, Add, Text, x10 y74 w145 h20, Сохранить в:
Gui, Add, Text, x30 y102 w110 h20, Слова-разметки:
Gui, Add, Text, x200 y102 w80 h20, Текст:
Gui, Add, Text, x10 y129 w10 h20, 1.
Gui, Add, Text, x10 y159 w10 h20, 2.
Gui, Add, Text, x10 y189 w10 h20, 3.
Gui, Add, Text, x10 y219 w10 h20, 4.
Gui, Add, Text, x10 y249 w10 h20, 5.
Gui, Add, Text, x10 y279 w10 h20, 6.
Gui, Add, Text, x10 y309 w10 h20, 7.
Gui, Add, Text, x10 y339 w10 h20, 8.
Gui, Add, Text, x10 y369 w10 h20, 9.
Gui, Add, Text, x8 y399 w17 h20, 10.
Gui, Add, Button, x370 y11 w70 h22 , Обзор ; Найти
Gui, Add, Button, x370 y73 w70 h22 , Обзор ; Сохранить
Gui, Add, Edit, x160 y11 w200 h22, `n%SelectedFile% ; *Выбрать документ*
Gui, Add, Edit, x160 y42 w200 h22, ; *Назвать документ*
Gui, Add, Edit, x160 y73 w200 h22, ; *Сохранить документ в*
Gui, Add, Edit, x30 y127 w140 h22, ; 1.Слова-разметки
Gui, Add, Edit, x200 y127 w230 h22, ; 1.Текст
Gui, Add, Edit, x30 y157 w140 h22, ; 2.Слова-разметки
Gui, Add, Edit, x200 y157 w230 h22, ; 2.Текст
Gui, Add, Edit, x30 y187 w140 h22, ; 3.Слова-разметки
Gui, Add, Edit, x200 y187 w230 h22, ; 3.Текст
Gui, Add, Edit, x30 y217 w140 h22, ; 4.Слова-разметки
Gui, Add, Edit, x200 y217 w230 h22, ; 4.Текст
Gui, Add, Edit, x30 y247 w140 h22, ; 5.Слова-разметки
Gui, Add, Edit, x200 y247 w230 h22, ; 5.Текст
Gui, Add, Edit, x30 y277 w140 h22, ; 6.Слова-разметки
Gui, Add, Edit, x200 y277 w230 h22, ; 6.Текст
Gui, Add, Edit, x30 y307 w140 h22, ; 7.Слова-разметки
Gui, Add, Edit, x200 y307 w230 h22, ; 7.Текст
Gui, Add, Edit, x30 y337 w140 h22, ; 8.Слова-разметки
Gui, Add, Edit, x200 y337 w230 h22, ; 8.Текст
Gui, Add, Edit, x30 y367 w140 h22, ; 9.Слова-разметки
Gui, Add, Edit, x200 y367 w230 h22, ; 9.Текст
Gui, Add, Edit, x30 y397 w140 h22, ; 10.Слова-разметки
Gui, Add, Edit, x200 y397 w230 h22, ; 10.Текст
Gui, Add, Button, x10 y430 w430 h40, Начать

Return

GuiClose:
	ExitApp

Простите уж, что такие тяжелые вещи ( по моему мнению ) спрашиваю, просто почти не знаю AHK.

2 (изменено: svoboden, 2022-05-20 14:13:49)

Re: AHK: программа для замены слов в Microsoft Word на другой текст

Path := "путь к файлу"

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

FindAndReplace(oWord, "SEARCH FOR THIS", "CHANGE IT TO THIS")

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)
}

Источник: autohotkey.com.

3

Re: AHK: программа для замены слов в Microsoft Word на другой текст

svoboden
Спасибо, как будет время, проверю.
Теперь осталось лишь разобраться с формами