русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Получение доступа к объекту


Дата добавления: 2015-06-12; просмотров: 677; Нарушение авторских прав


К созданному и созданному объекту можно получить доступ с помощью функции GetObject. В качестве параметров указывается строка, содержащая полный путь и имя файла, содержащего объект, и строка, содержащая указание класса объекта:

Set objXLSheet = GetObject(strSavedReport, “Excel.Sheet”)

где strSavedReport – строка, содержащая путь и имя файла.

Приложение объекта можно сделать видимым для работы с ним:

objXLSheet.Application.Visible = True

В приведенной ниже процедуре открывается предварительно созданный рабочий лист, для работы с ним делается видимым приложение и сам лист (его окно), после чего на экран в окне «родительского» приложения (например, Word), из которого запускается на выполнение данная процедура, выдается сообщение. Пользователь может переключиться через панель задач в окно родительского приложения или в Excel и отредактировать лист. В родительском приложении, из которого запускается данный макрос, пользователь должен щелкнуть кнопку OK в диалоговом окне для продолжения работы. Если пользователь сам не завершил работу Excel, после соответствующей проверки в процедуре приложение Excel завершается без сохранения изменений, внесенных в данные (окно предупреждения на экран не выводится).

Sub GetObj()

Dim strSavedReport As String

strSavedReport = "C:\Db\OfficeSolutionsRpt.xls"

Set objXLSheet = GetObject(strSavedReport, _

"Excel.Sheet")

objXLSheet.Application.Visible = True

objXLSheet.Parent.Windows(1).Visible = True

MsgBox "Был открыт лист Excel"

If Tasks.Exists(Name:="Microsoft Excel") Then

Set myobject = GetObject("", "Excel.Application")

MsgBox "Закрываем Excel без сохранения"

objXLSheet.Application.DisplayAlerts = False

objXLSheet.Application.Quit

End If



End Sub

Для получения ссылки на существующий экземпляр объекта используется функция GetObject (Excel с помощью этой функции позволяет открывать файлы, но все остальные продукты Office этого не могут).

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

Dim ИмяОбъектнойПеременной As Object
Set
ИмяОбъектнойПеременной= GetObject(“ПолноеИмяФайла”, _
ИмяПриложения.ТипОбъекта”)

Правило записи оператора для раннего связывания несколько отличается в части описания переменной (для нее указывается конкретный тип объекта):

Dim ИмяОбъектнойПеременной AsКласс
Set
ИмяОбъектнойПеременной= GetObject(“ПолноеИмяФайла”, _
ИмяПриложения.ТипОбъекта”)

где класс соответствует указанному при вызове функции типу объекта.

При использовании данной функции для открытия файла аргумент класса является необязательным. Но если функция используется для открытия объектов из файлов Excel, необходимо в качестве второго аргумента указать “Excel.Sheet” или“Excel.Chart” (а “Excel.Application”в этом случае использовать нельзя). Для открытия и отображения рабочей книги ее имя (но не весь путь) заключается в квадратные скобки.

SubCreateWorkBook()
If Dir(“C:\DB\My_Book.xls”) <> “” Then
Kill “
C:\DB\My_Book.xls
End If
Set
ObjExcel= CreateObject(Excel.Application)
ObjExcel.Workbooks.Add
ObjExcel.ActiveCell.Value = “Вписанные данные
ObjExcel.Workbooks(1).SaveAs “C:\DB\My_Book.xls
ObjExcel.Quit
Set
ObjExcel= Nothing
End Sub

SubGetWorkBook()
SetObjExcel= GetObject(C:\DB\[My_Book.xls]”, _
Excel.Sheet)
ObjExcel.Application.Visible = True
MsgBox Prompt:=“
Нажмите кнопку для закрытия Excel”, _
Buttons := vbInformation
ObjExcel.Application.Quit
Set
ObjExcel= Nothing
End Sub

Эти процедуры следует запускать последовательно. Первая процедура создает рабочую книгу Excel. Вторая – открывает ее.

Если в программе есть объект, ссылающийся на отдельный рабочий лист или лист диаграммы Excel, то доступ к другим рабочим листам книги можно получить с помощью свойства Parent данного объекта.

Функция GetObject запускает приложение, указанное с помощью второго аргумента, и активизирует объект, находящийся в указанном файле. Если первый аргумент является пустой строкой (""), GetObject возвращает новый экземпляр объекта указанного типа. Если этот аргумент опущен, GetObject возвращает текущий активный объект указанного типа. Если ни одного объекта указанного типа не существует, возникает ошибка. Следовательно, данную функцию можно использовать, чтобы определить, открыт ли требуемый объект:

Sub GetWordObj()

On Error GoTo OLE_Error

Dim blnIsAppOpen As Boolean

Dim objWord As Object

Set objWord = GetObject(, "Word.Application")

blnIsAppOpen = True

OLE_continue:

If Not blnIsAppOpen Then

Set objWord = CreateObject("Word.Application")

End If



objWord.Application.Visible = True

objWord.Documents.Add

MsgBox Prompt:="Нажмите кнопку для закрытия Word", _

Buttons:=vbInformation

objWord.Application.Quit



<== предыдущая лекция | следующая лекция ==>
Exit Function | Exit Sub


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.21 сек.