1 (изменено: bolkogaso, 2017-01-25 14:03:25)

Тема: AHK: проблемы с поиском кириллицы в файле

День добрый, господа.

Использую для поиска и замены в открытом файле ворда слов следующий кусочек кода:

MSWordMultiReplace("One", "Two")
                               
MSWordMultiReplace(params*) {      
         oWord := ComObjActive("Word.Application")
         oWord.Selection.Find.ClearFormatting
         oWord.Selection.Find.Replacement.ClearFormatting    
         For k,v in Params
         {
                 c++
                 if (c = 1)
                 {
                          st := v
                          continue
                 }
                 rt := v, c := 0
                 oWord.Selection.Find.Execute(st, 0, 0, 0, 0, 0, 1, 1, 0, rt, 2)
         }        
                }

Прекрасно работает на словах и сочетаниях слов на английском. Но если я попробую некоторые фразы на русском, например: MSWordMultiReplace("1 - Новый фтор", "2 - Натрий") - замены не происходит. Где я не доделал того, что нужно?

2 (изменено: red2881, 2017-01-18 12:50:47)

Re: AHK: проблемы с поиском кириллицы в файле

bolkogaso
Как вариант: Word заменяет дефис на тире.
Файл - параметры - параметры автозамены.http://s013.radikal.ru/i325/1701/76/8a346b0406ed.jpg

3

Re: AHK: проблемы с поиском кириллицы в файле

red2881 пишет:

Как вариант: Word заменяет дефис на тире.
Файл - параметры - параметры автозамены.

Это первое куда я копал. Если я заменяю фразы на английском - MSWordMultiReplace("1 - One", "2 - Two") - работает прекрасно ровно в таком виде.

4

Re: AHK: проблемы с поиском кириллицы в файле

bolkogaso
Word 2010 все работает.

5

Re: AHK: проблемы с поиском кириллицы в файле

red2881 пишет:

Word 2010 все работает.

Хм. Тот же ворд 2010, AHK последний 1.1.24.04.

Значит проблема локальная. Куда копать можно?

6

Re: AHK: проблемы с поиском кириллицы в файле

red2881 пишет:

bolkogaso
Word 2010 все работает.

Прошу прощения за введение в заблуждение. С предыдущим примером - действительно работает. Исправил на неработающий. попробуйте MSWordMultiReplace("1 - Новый фтор", "2 - Натрий") - у вас тоже не сработает.

7

Re: AHK: проблемы с поиском кириллицы в файле

Я когда использую совсем другую функцию поиска (только поиска, не замены), для кириллицы использую следующею команду:

FileEncoding, CP0

. Ну вот не хочет в UTF у меня видеть кириллицу, видит "???№№№", попробуй.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

8

Re: AHK: проблемы с поиском кириллицы в файле

bolkogaso
Посмотрел дома.http://s019.radikal.ru/i634/1701/3e/c0398b0f3568.gif

9

Re: AHK: проблемы с поиском кириллицы в файле

Проблема решена сменой кодировки файла скрипта на Windows 1251.