VBA для тех кто любит думать


VBA и Office XP - часть 103


 

With Dialogs(wdDialogFileOpen)

.Display

imya=.Name

End With

 

и впоследствии использовать это имя по своему усмотрению.

При использовании встроенных диалоговых окон Word обязательно использование оператора With, так как, казалось бы, эквивалентный фрагмент кода

 

Dialogs(wdDialogFileOpen).Display

imya= Dialogs(wdDialogFileOpen).Name

 

работать не будет.

После перебора остановимся на окне Dialogs(wdDialogCopyFile) - копирование файла. Посмотрев ссылку "Built-in dialog box argument lists" окна "Displaying built-in Word dialog boxes" (в Справочной системе VBA из Microsoft Office 2000/XP этот раздел присутствует в результатах поиска по словам "dialog boxes", рис. 5.40), получаем список всех возможных аргументов диалоговых окон (то есть параметров, значения которых можно получить из окон или задать им).

 

05_40.bmp

Рис. 5.40. Microsoft Office XP. Справка по параметрам встроенных диалоговых окон.

 

Нас интересует параметр "Directory" (папка, куда скопируется файл, указанный в параметре "FileName" при выполнении метода "Show" или "Execute" - при выполнении последнего метода происходит задание параметров диалогового окна или получение из них необходимой информации без отображения собственно диалога). Поэкспериментируем с этим окном - напишем в экспериментальном модуле следующий код:

 

Sub experience4()

With Dialogs(wdDialogCopyFile)

.Display

papka = .Directory

End With

MsgBox papka

End Sub

 

Запустив эту программу несколько раз, получаем, что в переменную "papka" записывается путь и имя папки, но, если в пути или имени были пробелы, то путь окаймляется кавычками: "C:\Program Files\Microsoft Office\Шаблоны\", а если пробелов в пути не было, то кавычки по краям не ставятся. Поэтому возвращаемую переменную нужно обработать - убрать кавычки.

Сделать это можно с помощью уже известных нам команд "Left", "Right", "Mid" и "Len":




Начало  Назад  Вперед



Книжный магазин