Поиск текста в Word

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Поиск текста в Word

Сообщение kminas » 12.04.2008 (Сб) 14:16

Поставил я в документе который надо открыть, букву в виде скрытого текста. (Программа должна открывать один из двух файлов и в каждо я поставил разные метки) В начале при проверке буква обнаруживалась, но после доработки кода, при отладке вместо быквы рисуется текст в виде квадратика, а код простой, к примеру:
Код: Выделить всё
If Selection.Text = "м" Then...
. Что-то я не так сделал. А может быть кто-нибудь подскажет может быть есть более простые способы проверки, какой файл открыт. Только одно условие имя файла заранее не известно. Отличие между файлами: разные нижние колонтитулы первой страницы, например, различаются высотой.
Константин

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 14.04.2008 (Пн) 11:48

Используй в качестве метки буквый английского алфавита или цифры.
I don't understand. Sorry.

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Сообщение kminas » 14.04.2008 (Пн) 13:21

RayShade
Спасибо, тоже пробовал english. However, result was the same.
Константин

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 14.04.2008 (Пн) 16:32

Хм... Значит дело может в шрифтах там быть... Я тут кстати подумал, а почему бы не хранить ключевой символ в custom document properties? Зачем скрытым текстом заморачиваться? :)
I don't understand. Sorry.

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Сообщение kminas » 14.04.2008 (Пн) 19:12

Дело в том, что сначала-то буква находилась. У меня файл с таблицей в которой одна строчка. Дальше таблица с помощью программы заполняется и строчки добавляются. Букву я поставил ниже последней строки. Она перемещается вместе со вставленными строками, но я проверял только при наличии одной строчки, а потом понял, что надо вставить код нахождения последней заполненной строки, как в самой программе. Вставил. Код работает, а буква перестала определяться. Я проверял, код ее находит, ставил провелы и до и после буквы (на всякий случая) с функцией Trim, но ничего. Надо еще раз попробовать. У меня уже так было пару раз. Вроде ничего не менял, а потом пошло нормально.
Мне тут на другом форуме подсказали внедрить в файлы некую функцию с разными идентификаторами и, затем проверять ее. Может это и лучше будет? Надо попробовать.
Константин

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 15.04.2008 (Вт) 13:52

Самое простое - это не городить огород, а воспользоваться уже имеющимися средствами. Коллекция custom document properties - это как раз отличное средство.



Внедрять функцию - это заморачиваться с макросами, доступом в проект через word api и, как следствие - document security, антивирусами и прочим.



К чему лишняя головная боль?
I don't understand. Sorry.

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Сообщение kminas » 16.04.2008 (Ср) 20:14

RayShade
Поковырялся я в свойствах, сделал защиту от их изменения и все. А как программно к ним обратиться, не ведаю. Подскажи, А? Где про то прописано?
Константин

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 18.04.2008 (Пт) 10:17

Чтение:

Код: Выделить всё
With ActiveDocument.CustomDocumentProperties
For i = 1 To .Count
Debug.Print "Property " + Item(i).Name+ " value "+ .Item(i).Value + " type " +.Item(i).Type
Next i
End With


Добавление:
Код: Выделить всё
ActiveDocument.CustomDocumentProperties.Add (Name:="MyProperty", LinkToContent:=False, Value:="MyValue", Type:=msoPropertyTypeString)
I don't understand. Sorry.

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Сообщение kminas » 23.04.2008 (Ср) 22:20

RayShade спасибо!
Константин


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 61

    TopList