КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Запуск других Windows-программКак мне открыть Word (или Excel, или Блокнот (Notepad) или танцевальную видеоигру Dance Dance Revolution)? В язык Visual Basic включена функция shell, которая позволяет запускать другую программу. Для применения функции Shell необходимо задать полный путь, указывающий на файл программы. Вот приведен пример запуска Windows-программы Калькулятор: Shell "C:\Windows\calc.exe" Когда вы применяете функцию shell, ОС Windows запускает запрошенную программу, а ваш код продолжает выполняться. Но у вашего программного кода нет реальной возможности взаимодействовать с программой. Вы не можете заставить ее сделать что-либо или выяснить, что она закрыта. Shell кажется удобной функцией, но у нее есть существенная проблема. Для того чтобы использовать функцию Shell, нужно знать точное местонахождение программы. Вы не можете просто сказать: "Запусти Microsoft Word" или "Открой этот документ". Вместо этого вы должны глубоко зарыться в файловую систему жесткого диска, чтобы найти файл нужной программы (который обычно находится где-то в зоне вашего компьютера с именем Program Files). Хуже того, после того как вы заставили функцию Shell работать на вашем компьютере, нет никакой гарантии, что она заработает на какой-либо другой машине — в конце концов, та же программа может быть установлена где-то совсем в другом месте. И как с этим бороться? Можно воспользоваться гиперссылкой, которая запускает нужную программу автоматически, если по ссылке щелкнуть кнопкой мыши. Но некоторые программы, включая других членов семейства Microsoft Office, предлагают лучший вариант. Они предоставляют собственные объекты, которыми можно манипулировать в коде на языке Visual Basic. Благодаря этим объектам можно применять эти программы, не беспокоясь об их местонахождении. Вы конечно же можете делать с ними гораздо больше, задавая различные свойства и вызывая разнообразные методы. Можно заставить программу Word открыть документ, добавить в него некоторый текст, отправить 10 копий на принтер и затем завершить программу. Объекты, реализующие этот процесс, не рассматриваются в данной книге, но далее приведен очень простой пример, который запускает программу Word, выводит на экран окно программы и загружает в нее документ GothicWedding.doc: Dim Word As Object Set Word = CreateObject("Word.Application") Word.Visible = True Word.Documents.Open CurrentProject.Path & "\GothicWedding.doc" Если эта технология заинтересовала вас, обратитесь к справочной системе программы Word, из нее можно узнать гораздо больше об объектной модели Word. Другой полезный ресурс — Microsoft's Office Developer Center (Центр разработчиков Microsoft Office) на Web-сайте http://msdn.microsoft.com/office.
Объект DoCmd Объект DoCmd — единственный наиболее полезный объект в мире программирования Access. Он обеспечивает "покупку всего нужного в одном месте" для самых разнообразных задач, таких как открытие форм и отчетов, запуск других программ, поиск записей и выполнение макросов. В отличие от виденных вами ранее объектов, у объекта DoCmd нет никаких свойств. Вместо этого он состоит из методов, выполняющих разные действия. Если нужно открыть форму с именем ProductCatalog,можно использовать метод OpenForm следующим образом: DoCmd.OpenForm "ProductCatalog" Как большинство методов объекта DoCmd, OpenForm может использовать несколько необязательных параметров. Visual Basic подскажет, отобразив список возможных параметров в процессе ввода имени метода. Далее показан пример, в котором пропущены второй и третий параметры (обратите внимание на запятые без значений между ними), но задается фильтр в четвертом параметре и режим данных в пятом: DoCmd.OpenForm "ProductCatalog", , ,"ID=5", acFormReadOnly Эта команда открывает форму ProductCatalog,применяет фильтр для вывода на экран одной записи с ID (Код), равным 5, и использует режим "только чтение" для запрета каких-либо изменений.
|