Тайны и секреты компьютера | страница 40





Рис. 3.8. Откроем в «Блокноте» файл, который сохранялся нашей командой


Так вот в чем дело — файл был сохранен в формате Rtf, но под прежним именем и с расширением".doc"! Но нас это не устраивает — имя пусть будет то же, а вот расширение должно быть именно".rtf".

Интересно, а что будет, если запустить эту программу при активном ни разу не сохранявшемся документе? Запускаем… Активный документ приобрел имя "Doc1.doc" (ну, или "Doc2.doc", "Doc3.doc" — у кого как). Но где он сохранился? Ищем по F3 в Explorere — так, сохранен он в папке, где произошло последнее ручное сохранение какого-либо файла или в папке для документов Word по умолчанию.[3]

Следовательно, при программном сохранении ранее несохранявшегося документа без задания ему имени и места сохранения (место сохранения можно задать, включив в имя документа в пункте «FileName» полный путь к его новому местоположению) происходит сохранение активного документа в папке по умолчанию (или в папке, где был последний раз сохранен вручную какой-нибудь документ) и с именем по умолчанию. Примем к сведению.

Но как же нам быть с нашей программой? Нам ведь надо, чтобы все обрабатываемые файлы сохранялись под своим именем и в формате и с расширением Rtf! А попробуем-ка каким-нибудь способом получить программно имя активного документа. Создадим еще один макрос, и напишем там «ActiveDocument», ставим точку (рис. 3.9) и видим, что среди возможных продолжений команды есть свойство "Name".



Рис. 3.9. А так можно найти нужное продолжение команды.


Похоже, это и есть то, что нам надо. Проверим. Модифицируем экспериментальную процедуру следующим образом:

Sub experience2()

MsgBox ActiveDocument.Name

End Su

Это позволит нам вызвать окно сообщения с значением функции "ActiveDocument.Name". Можно было бы написать "Debug.Print ActiveDocument.Name", что отобразило бы значение этой функции в специальном Окне отладки (вызывается из меню редактора VBA "Вид"-"Окно отладки"). Но использовать окно сообщения как-то привычнее. Итак, нажимаем F5… получаем окно с сообщением: "Доклад1.doc".

Но нам ведь нужно одно только имя, без расширения! Как же его получить? Наверное, проще всего убрать последние четыре символа — ".doc". Но как?

Воспользуемся справкой. Нажмем F1 в редакторе VBA, в открывшемся окне нажмем кнопку «Разделы», а там — "Предметный указатель", — в нем все разделы справки классифицированы по смыслу, в то время как в разделе «Поиск» лишь составлена база данных по всем словам, входящим в справочную систему VBA.