Integrarea accesului cu alte componente ale produselor software de birou

Clienți și servere de automatizare

Atunci când se integrează două aplicații, una furnizează obiectele pentru utilizare, iar cealaltă utilizează obiectele din prima aplicație.







  • O aplicație ale cărei obiecte sunt disponibile pentru alte aplicații se numește un server de automatizare (uneori se numește și o componentă)
  • O aplicație care utilizează obiectele unei alte aplicații se numește un client de automatizare (sau un controler). Obiectele care sunt disponibile pentru alte aplicații se numesc obiecte de automatizare

Pentru a gestiona programatic un obiect de automatizare din orice aplicație Microsoft Office, trebuie să:

    1. Setați o referință la biblioteca de obiecte ale automatizării aplicației-server.
    2. Creați un obiect al clasei dorite.
    3. Efectuați toate acțiunile necesare asupra obiectului, referindu-vă la proprietățile și metodele sale.
    4. Închideți obiectul.

Microsoft Access ca client de automatizare

Pentru a crea un obiect pentru utilizarea în operațiile de automatizare, trebuie mai întâi să creați o instanță a clasei sale și să atribuiți o referință la ea variabilei obiect. Cu toate acestea, nu puteți crea niciun obiect din modelul obiect al aplicației server, ci numai din obiectele globale. Acest obiect global pentru toate modelele obiect ale aplicațiilor Microsoft Office este obiectul Application, care se află în partea de sus a ierarhiei de obiecte.

Utilizarea cuvântului cheie Nou

Acest cuvânt cheie descrie o variabilă Obiect și stabilește simultan o referință la o nouă instanță a clasei de obiecte.

Dim app ca noul Excel.Application

Când utilizați noul cuvânt cheie pentru a crea o nouă instanță a clasei Aplicație, este lansată aplicația corespunzătoare (de exemplu, Word sau Excel). Dacă această aplicație este deja executată, pentru a nu rula a doua instanță, este mai bine să utilizați funcția GetObject () pentru a crea o nouă instanță a clasei,

Sub PowerPointOpenFile_Click ()
Pe eroare GoTo Err_
Dim strAppName ca șir
Dim Aplicația ca o nouă aplicație PowerPoint.Application






strAppName = CurrentProject.Path "\ Presentation1.ppt"
Cu aplicație
.Vizibil = Adevărat
.Prezentări.Open strAppName
Sfârșit cu
Setați aplicația = Nimic
Exit_:
Ieșire Sub
Err_:
MsgBox Err.Description
Reluați Exit_
End Sub

Utilizând funcția CreateObject ()

Setați aplicația = CreateObject ("Excel.Application")

Variabila obiect în acest caz poate fi declarată ca obiect, și apoi nu este nevoie să setați o legătură la biblioteca de obiecte Microsoft Word. Și poate fi declarat astfel:

Dim app ca Excel.Application

Setați aplicația = CreateObject ("Excel.Application.11")

Un exemplu de utilizare a funcției:

Sub ExcelOpenFile ()
Pe eroare GoTo Err_
Dim strAppName ca șir
Dim app ca Excel.Application
strAppName = CurrentProject.Path "\ Book1.xls"
Setați aplicația = CreateObject ("Excel.Application")
Cu aplicație
.Vizibil = Adevărat
.Tabele de lucru.Open strAppName
Sfârșit cu
Setați aplicația = Nimic
Exit_:
Ieșire Sub
Err_:
MsgBox Err.Description
Reluați Exit_
End Sub

Folosind funcția GetObject ()

Această metodă este folosită pentru a obține o trimitere la o instanță existentă a clasei, adică. E. Pentru a avea acces la documentele existente stocate în fișiere sau pentru a accesa obiectul Application este deja rulează aplicații server. Funcția Getobject () are următoarea sintaxă:

Set <объектнаяПеременная> = Getobject ([<путь>] [,<класс>])

Cel puțin unul dintre argumentele funcției trebuie specificat!

Luați în considerare trei opțiuni pentru scrierea unei funcții:

  • Setați aplicația = GetObject ("Excel.Application")

aici primul parametru este omis - atunci funcția funcționează ca cele de mai sus - doar pentru a crea o instanță a clasei de obiecte.

  • Setați aplicația = GetObject ("C: \ Baze \ Book1.xls", "Excel.Application")

Aici specificați atât calea fișierului, cât și numele aplicației. În acest caz, fișierul Book.xls

  • Setați aplicația = GetObject ("C: \ Baze \ Book1.xls")

Un exemplu de utilizare a funcției:

Sub WordOpenFile ()
Pe eroare GoTo Err_
Dim strAppName ca șir
Dim app ca Word.Application
strAppName = CurrentProject.Path "\ Doc1.doc"
Setați aplicația = GetObject ("", "Word.Application")
Cu aplicație
.Vizibil = Adevărat
.Documents.Open strAppName
Sfârșit cu
Setați aplicația = Nimic
Exit_:
Ieșire Sub
Err_:
MsgBox Err.Description
Reluați Exit_
End Sub

După terminarea tuturor operațiunilor necesare cu obiectele aplicației server, aceste obiecte trebuie închise pentru a elibera memoria pe care o ocupă. Cele mai multe obiecte suportă metodele de închidere sau Quit pentru acest lucru. În plus, ar trebui să eliberați variabila obiect prin setarea la Nimic.

Exemplul atașat la articol prezintă opțiunile pentru deschiderea documentelor Word, Excel, Power Point. Pentru o modificare pentru fiecare document, se utilizează una din cele trei metode de descoperire. Dar, desigur, oricare dintre documente poate fi deschisă în oricare dintre căi.

Descărcări







Trimiteți-le prietenilor: