Update cookies preferences
Promotic

GetObject - funkce jazyka VBScript

Popis:
Vrací objekt Automation ze souboru.
Syntaxe:
Object GetObject([String Path], [String Class])
Parametry:
Path[nepovinné] (String) Úplná cesta a název souboru obsahujícího načítaný objekt.
Pokud není nastaveno, pak je vyžadován parametr Class.
Class[nepovinné] (String) Třída objektu.
Zadává se buď název aplikace poskytující objekt nebo třída vytvářeného objektu.
Poznámka:
Funkce se používá pro přístup k Automation objektu ze souboru a přiřazení objektu do proměnné objektu. K přiřazení objektu vráceného touto funkcí do objektové proměnné se používá příkaz Set.
Příklad:
Vyber a zkopíruj do schránky

Dim CADObject
Set CADObject = GetObject("C:\CAD\SCHEMA.CAD")


Při provádění tohoto skriptu je spuštěna aplikace asociovaná s určeným souborem a objekt v určeném souboru je aktivován.
Pokud parametr Path je prázdný řetězec (""), pak GetObject vrací novou instanci objektu určeného typu.
Pokud parametr Path je vynechán, pak funkce vrací aktivní objekt určeného typu.
Pokud objekt určeného typu neexistuje, pak vznikne chyba.
Některé aplikace dovolí aktivovat část souboru přidáním vykřičníku (!) za název souboru následovaného řetězcem identifikujícím část aktivovaného souboru. Informaci, jak lze vytvořit tento řetězec, je nutno najít v dokumentaci aplikace vytvářející objekt.
Například v kreslící aplikaci lze mít více vrstev obrázků uložených v souboru. Šlo by použít následujícího skript k aktivaci vrstvy v obrázku s názvem "SCHEMA.CAD":
Vyber a zkopíruj do schránky

Dim LayerObject
Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3")


Pokud není určena třída objektu, pak systém určí, kterou aplikaci spustit a který objektaktivovat podle zadaného jména souboru. Některé soubory však mohou podporovat více než jednu třídu objektu. Například obrázek by mohl podporovat tři typy objektů: objekt Aplikace, objekt Obrázek a objekt Nástrojová lišta a všechny jsou současně části stejného souboru. K určení aktivovaného objektu v souboru se používá volitelný parametr Class.
Příklad:
Vyber a zkopíruj do schránky

Dim oObject
Set oObject = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING")


V předcházejícím příkladě je FIGMENT název kreslící aplikace a DRAWING je jedním z podporovaných objektů. Po aktivaci objektu se na něj ve skriptu odkazuje pomocí vytvořené objektové proměnné. Pomocí objektové proměnné se přistupuje k vlastnostem a k metodám nového objektu.
Příklad:
Vyber a zkopíruj do schránky

oObject.Line 9, 90
oObject.InsertText 9, 100, "Hello, world."
oObject.SaveAs "C:\DRAWINGS\SAMPLE.DRW"


Funkce se používá, pokud existuje aktivní instance objektu nebo pokud se vytváří objekt ze souboru. Pokud není žádná aktivní instance a neaktivuje-li se objekt ze souboru, pak lze použít funkci CreateObject.
Pokud se zaregistroval objekt jako jedno-instanční, pak se vytvoří pouze jediná instance objektu bez ohledu na to, kolikrát byla funkce CreateObject provedena. U jedno-instančního objektu funkce GetObject vždy vrací tutéž instanci, pokud je volána s prázdným řetězcem "" a způsobí chybu, pokud je parametr Path vynechán.
Viz také:
- Pm.ShellExecute (metoda)
- Pm.CreateProcess (metoda)
Příklad:
Příklad ukazuje jak přečíst hodnotu z jiné aplikace PROMOTIC. Každá aplikace PROMOTIC se z hlediska OS Windows chová jako objekt. Pomocí metody GetObject lze získat přístup k jiné aplikaci PROMOTIC (C:\Proj2\Proj2.pra) na stejném počítači. Z této aplikace pak lze získat hodnotu proměnné "Teplota" v objektu /Data.
Vyber a zkopíruj do schránky

Dim oProj, oPm, Val
Set oProj = GetObject("C:\proj2\proj2.pra")
If Not oProj Is Nothing Then
Set oPm = oProj.Application.Pm
Val = oPm("/Data").Item("Teplota").Value
End If
© MICROSYS, spol. s r.o.