Рис. 3.10. Справка по функции Left.


Превосходно — функция «Left» является именно той функцией, которая нам требовалась. Но она требует значение количества символов во всей строке — как это узнать? Да так, как описано в данном справочном окне в разделе "Дополнительные сведения" — через функцию «Len». Нажмем ссылку "См. также", выберем из списка строчку "Функция Len" и изучим появившуюся информацию.

Немного подумав и использовав данные о синтаксисе обеих команд в справке, можно написать команду, которая возвращает строку без последних четырех символов:

imyadoc = Left(ActiveDocument.Name, Len(ActiveDocument.Name) — 4)

Можно проверить. Создадим еще один модуль:

Sub experience3()

imyadoc = Left(ActiveDocument.Name, Len(ActiveDocument.Name) — 4)

MsgBox imyadoc

End Sub

и запустим его. В окне сообщения — имя документа без расширения. Все так, как нам необходимо.


Небольшое отступление

Вышеизложенный способ получения имени активного документа без расширения — не самый лучший, хотя имеет право на существование. Есть еще один способ узнать только имя документа, унаследованный из предыдущих версий Word, — в Word 6.0 и Word 95 была специальная команда для получения имени документа, к сожалению, в VBA не включенная. Однако она может быть использована в VBA, так как макросы для Word 6.0 и Word 95 могут выполняться и в более новых версиях Office. При открытии в Office 97/2000/XP шаблонов с макросами, созданных в предыдущих версиях Office, все макросы автоматически конвертируются для выполнения в VBA с помощью включенной в него версии языка WordBasic, на котором писались макрокоманды для Word 6.0 и Word 95.



61 из 489