Читаем Интернет-журнал "Домашняя лаборатория", 2007 №7 полностью

Рис. 5.30.Результат работы команды "MsgBox Left(ActiveDocument.Name, Len(ActiveDocument.Name) — 4)".


Все так, как нам необходимо.

* * *

НЕБОЛЬШОЕ ОТСТУПЛЕНИЕ.

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

В для Microsoft Word 6.0 и Microsoft Word 95 была функция "FileNameInfo$(документ, параметр)", с помощью которой можно было получить имя документа без расширения, путь к документу без имени и путь к документу вместе с именем. Для того, чтобы узнать одно имя документа, без расширения и пути, значение параметра должно быть равно 4. (Все это подробно описано в справке по WordBasic для Microsoft Word 6.0 и Microsoft Word 95.) В Visual Basic for Applications эта функция выглядит так:

imyadoc = WordBasic.[FileNameInfo$](ActiveDocument.Name, 4)

Она возвращает полное имя документа без расширения и пути. Данная функция будет просто незаменима при обработке документов с расширениями, состоящими не из трех символов — например, ".html". В то время как в таких случаях с помощью функций "Len", "Mid", "Right" пришлось бы писать большие фрагменты кода для получения имени документа без расширения, эта функция позволит получить его одной строчкой.

Однако при первой работе с Visual Basic for Applications она не будет очевидной, так как узнать о ней, и тем более об ее необходимых параметрах может только тот, кто раньше имел дело с WordBasic. Поэтому в нашей программе будет использоваться предыдущая функция — "imyadoc =

Left (ActiveDocument. Name, Len (ActiveDocument. Name) — 4)".

Вообще говоря, иногда бывает очень полезным воспользоваться старыми командами WordBasic, которые остались в нем от предыдущих версий. К сожалению, в Справочной системе VBA не освещено их применение, однако, если на вашем компьютере установлены сразу несколько версий Word, в том числе Microsoft Word 6.0 или Microsoft Word 95, то вы сможете узнать о таких командах в Справочной системе предыдущей версии этой программы.

* * *

Итак, команда нашей программы "ActiveDocument.SaveAs" должна выглядеть так:

ActiveDocument.SaveAs FileName: = Left (ActiveDocument.Name,

Len(ActiveDocument.Name) — 4), FileFormat:=wdFormatRTF, LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword:="",

ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False,

SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= False

Все лишнее можно убрать, хотя это не обязательно:

ActiveDocument.SaveAs FileName: = Left (ActiveDocument.Name,

Len(ActiveDocument.Name) — 4), FileFormat:=wdFormatRTF

He мешало бы еще, чтобы новый документ в формате Rtf сохранялся в той же папке, что и исходный. Для этого добавим к параметру "FileName" информацию о пути к активному документу:

ActiveDocument.SaveAs FileName:=ActiveDocument.Path + "\" +

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

FileForma t: =wdForma tRTF

Иначе Word будет сохранять документы в той папке, где последний раз был сохранен или открыт како-нибудь документ с помощью диалоговых окон "Сохранить как…" и "Открыть…". А это все же не всегда будет той же самой папкой, где находятся обрабатываемые документы, — к тому же документы для обработки можно открывать в Word и путем перетаскивания иконки файла в окно редактора, а при таком способе открытия папка сохранения документов не меняется.

Перейти на страницу:

Похожие книги

Лучшие модели на любую фигуру без примерок и подгонок
Лучшие модели на любую фигуру без примерок и подгонок

Книга представляет собой сборник, который содержит схемы построения чертежей из двух предыдущих бестселлеров автора, а также предлагает ряд новых моделей. Галия Злачевская – автор эксклюзивной методики конструирования швейных изделий. Особенность ее метода в том, что вариант построения модели подбирается с учетом особенностей силуэта фигуры, поэтому крой сразу получается точным. И главное – больше никаких примерок и подгонок! Следуя простым рекомендациям автора, вы легко сможете «шаг за шагом» освоить эту методику и в итоге – получите идеально сидящую вещь.Вы научитесь создавать современные, неповторимые и оригинальные модели для мужчин, женщин, детей и даже малышей до 3 лет с минимальными затратами времени и сил.

Галия Мансуровна Злачевская

Сделай сам / Хобби и ремесла / Дом и досуг