Передача данных между приложениями Windows

Страницы работы

Содержание работы

Пример:

Sub SendText()

Dim hWin

hWin = Shell(“I:\Win\Winword.exe”, 1)

Application.Wait  Now+TimeValue(“00:00:05”)

AppActivate hWin

SendKeys “Доброе утро! {Enter}”

End Sub

Клавиша

Код

BackSpace

{BACKSPASE}     {BS}

Breake

{BREAKE}

{CAPSLOOK}

{CLEAR}

{DELETE}  {DEL}

{DOWN}

{END}

{ENTER}

{ESC}

{HELP}

{HOME}

{INSERT}

4

 

1

 
Современные программные средства  Часть 3

Тема  Передача данных между приложениями Windows

Лекция 2  Передача данных функциями Visual Basic

VB может использовать все возможности системы Windows

1. Запуск приложения и установление связи

Set  WB = CreateObject(Имя_класса)

                    Программа

Класс

Word for windows

Word.Basic

Excel

Excel.Application

Project

MAProject.Project

Access

Access.Application

Для запуска Word из электронной таблицы:

Set WB =CreateObject(“Word.Basic”)

Теперь переменная WB представляет собой объект, с которым в VB можно работать как с обычным объектом, используя все его внутренние объекты, их свойства и методы.

2. Управление одним приложением из другого

Откроем файл в Word

WB.FileOpen “C:\VB\MYBOOK.DOC”

Изменим параметры страницы этого файла:

WB.FilePageSetup _

                    .Tab = 0; _

Обратить внимание: пробел со знаком _ эти обозначение продолжения оператора в VB

 
                    .PaperSize = 0; _

                    .TopMargin = 2,5 см, _

                    .BottonMargin = 2,5 см, _

                    .LeftMargin = 2,5 см, _

                    .RightMargin = 2,5 см, _

Сохраним внесенные изменения закрытием файла:

WB.CloseAll 1

Аргумент метода задает режим сохранения: 1 - сохранять без запроса

Теперь надо закрыть Word и разорвать с ним связь:

Set WB = Nothing

3. Обмен информацией между приложениями:

Передадим из Excel в Word предварительно выделенную часть таблицы:

В Excel откроем Word и в нем откроем новый документ:

WB.FileNew

WB.FileSaveAs “Report.doc”

Скопируем выделенные ячейки в буфер обмена:

Selection.Copy

Вставим их в документ Word:

WB.EditPaste

и добавим маркер конца абзаца:

WB.InsertPara

на всякий случай снимем режим копирования:

WB.CutCopymode = False

теперь сохраним файл:

WB.FileSave

далее разрываем связь с приложением Word.

2

 
 


Для закрытия управляющего приложения можно использовать метод:

Application.Quit

4. Применение  OLE

OLE имеет больше возможностей, чем DDE. Имеется два OLE:

n  OLE: Linking and Embedding (Связь и внедрение) копирование объекта в одной программе и вставка связи с ним в другой программе

n  OLE Automation (Автоматизация OLE ) - один объект может управлять другой программой посредством доступа к ее свойствам и методам

             4.1 Применение OLE Automation

Для начала следует узнать все об объектах и методах управляемой программы. Если программа имеет объекты, зарегистрированные и доступные в системе, можно их увидеть в  Object Brouser. Для его использования (он есть в Excel) программу надо зарегистрировать в Excel:

n  войти в Tools/Referenses (сервис/ссылки)

n  включить индикатор, соответствующий регистрируемой программе

Похожие материалы

Информация о работе