Netinkamas funkcija

Svarbu :  Šis straipsnis išverstas naudojant mašininį vertimą, žr. atsakomybės atsisakymą. Su šio straipsnio versija anglų kalba galite susipažinti čia .

Pastaba : Funkcija, metodą, objektų ir ypatybių šioje temoje aprašyta yra išjungta, jei Microsoft Jet išraiškų tarnyba veikia smėlio dėžės režimą, kuris trukdo galimai nesaugių reiškinių įvertinti. Daugiau informacijos apie smėlio dėžės režimą, ieškokite "smėlio dėžės režimo" žinyne.

Grąžina nuorodą į ActiveX komponentas teikiamos objektas.

Sintaksė

Netinkamas ([kelias ] [, klasės ] )

Netinkamas funkcijos sintaksė turi šiuos argumentus:

Argumentas

Aprašas

Maršruto vardas

Pasirinktinai. Variantas (Eilutės). Visas kelias ir failo, kuriame yra gauti objekto pavadinimas. Jei maršruto vardas nenurodytas, klasės yra būtinas.

klasės

Pasirinktinai. Variantas (Eilutės). Eilutė, pateikianti klasė objekto.


Klasės argumentas naudoja sintaksė appname.objekto tipo ir sudarytas iš trijų dalių:

Dalis

Aprašas

appname

Būtina. Variantas (Eilutės). Gauti, kuriose objekto pavadinimas.

objekto tipo

Būtina. Variantas (Eilutės). Tipo ar klasės objekto kūrimas.


Pastabos

Pastaba : Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje. Daugiau informacijos apie darbą su VBA rasite išplečiamajame sąraše pasirinkę Kūrėjų nuoroda (šalia Ieškos) ir ieškos lauke įvedę vieną ar daugiau sąlygų.

Naudokite funkciją netinkamas prieigos ActiveX objektą iš failo ir priskirti objektą, objekto kintamasis. Naudokite nustatyti sakinį priskirti objektą grąžina netinkamas objekto kintamasis. Pvz.:

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

Kai vykdomas šį kodą, darbo programos, susietos su nurodyto maršruto vardas ir suaktyvintas objekto nurodytą failą.

Jei kelias yra nulinio ilgio eilutė (""), netinkamas grąžina nurodyto tipo naują objekto egzempliorių. Jei kelias argumentas praleistas, netinkamas grąžina tuo metu aktyvų objekto nurodyto tipo. Jei nėra nurodyto tipo objektą, įvyksta klaida.

Kai kurios programos leidžia aktyvinti failo dalis. Įtraukti šauktuką (!) failo vardą ir sekti jį eilutė, nurodanti failą, kurį norite aktyvinti dalis. Informacijos, kaip sukurti šią eilutę, ieškokite dokumentacijoje taikomąją programą, sukurtą objektą.

Pvz., piešimo programą galite turėti kelis sluoksnius reikšmę piešinys, saugomi faile. Galite naudoti šį kodą aktyvinti sluoksnio per vadinamas SCHEMA.CADpiešinį:

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

Jei nenurodysite objekto klasės, automatizavimo nustato paleisti taikomąją programą ir Norėdami suaktyvinti, objektą pagal failo pavadinimą. Kai kurių failų, tačiau palaiko daugiau nei vieną klasės objekto. Pvz., piešimo gali palaiko trijų tipų objektų: elementą , grafinį objektą ir įrankių juostos objekto, visi, kurie yra to paties failo dalis. Norėdami nustatyti, kokiam objektui failą, kurį norite aktyvinti, naudokite pasirinktinai klasės argumentas. Pvz.:

Dim MyObject As Object
Set MyObject = GetObject("C:\DRAWINGS\SAMPLE.DRW", _
"FIGMENT.DRAWING")

Pateiktame pavyzdyje FIGMENT yra piešimo programą ir DRAWING pavadinimas yra vieną iš objektų tipai, ji palaiko.

Suaktyvinus objektą, galite nurodyti jį kodą naudodami objekto kintamąjį, kurį apibrėžėte. Ankstesniame pavyzdyje, galite pasiekti ypatybės ir metodai naujo objekto naudodami objekto kintamųjų MyObject. Pvz.:

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

Pastaba : Naudokite funkciją netinkamas , kai yra dabartinio egzemplioriaus objekto arba jei norite sukurti objektą su jau įkelti failą. Jei nėra dabartiniame egzemplioriuje yra, ir nenorite, kad objektas, darbą su įkelti failą, naudokite funkciją CreateObject .

Jei objektas užsiregistravo kaip vieno egzemplioriaus objektas, tik vieną egzempliorių objekto sukuriamas, nesvarbu, kiek kartų funkcija CreateObject . Vieno egzemplioriaus objektas, netinkamas visada pateikia paties pavyzdžiui, kai vadinama su nulinio ilgio eilutė ("") sintaksę ir įvyksta klaida, jei kelias argumento. Negalite naudoti netinkamas gauti sukurtas Visual Basic klasės nuoroda.

Pavyzdys

Šiame pavyzdyje naudojama funkcija netinkamas gauti nuoroda į konkrečią Microsoft Office Excel 2007 darbalapį (MyXL). Darbalapio taikomosios programos ypatybių naudojamas, kad "Excel", matoma, kad jį uždarytumėte ir taip toliau. Naudojant dvi API skambučių, DetectExcel Sub procedūra atrodo "Excel", ir jei ji veikia, įveda veikia objektų lentelėje. Pirmasis skambutis į netinkamas įvyksta klaida, jei dar nevykdomas Microsoft Excel. Pateiktame pavyzdyje klaida sukelia ExcelWasNotRunning vėliavėlę būti nustatytas kaip TRUE (teisinga). Antrasis Kvietimas į netinkamas nurodo failą, kurį norite atidaryti. Jei "Excel" jau neaktyvi, antrą skambutį ją paleidžia ir grąžina nuorodą į darbalapį, išreiškiamos nurodytą failą mytest.xls. Failas turi būti sukurtas į nurodytą vietą; kitu atveju į Visual Basic automatizavimo klaida klaida. Be to, pavyzdys kodą daro Excel "ir" langą, kuriame matoma nurodyta darbalapio. Ir pagaliau, jeigu nebuvo ankstesnė versija veikia "Excel", kodas naudoja programos objekto Quit metodas uždaryti "Excel". Jei jau buvo įdiegta taikomąją programą, yra bandoma kad jį uždarytumėte. Pati nuoroda išsiskiria nustatydami nieko.

' Declare necessary API routines:
Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName as String, _
ByVal lpWindowName As Long) As Long
Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hWnd as Long,ByVal wMsg as Long, _
ByVal wParam as Long, _
ByVal lParam As Long) As Long
Sub GetExcel()
Dim MyXL As Object ' Variable to hold reference
' to Microsoft Excel.
Dim ExcelWasNotRunning As Boolean ' Flag for final release.
' Test to see if there is a copy of Microsoft Excel already running.
On Error Resume Next ' Defer error trapping.
' GetObject function called without the first argument returns a
' reference to an instance of the application. If the application isn't
' running, an error occurs.
Set MyXL = GetObject(, "Excel.Application")
If Err.Number <> 0 Then ExcelWasNotRunning = True
Err.Clear ' Clear Err object in case error occurred.
' Check for Microsoft Excel. If Microsoft Excel is running,
' enter it into the Running Object table.
DetectExcel
' Set the object variable to reference the file you want to see.
Set MyXL = GetObject("c:\vb4\MYTEST.XLS")
' Show Microsoft Excel through its Application property. Then
' show the actual window containing the file using the Windows
' collection of the MyXL object reference.
MyXL.Application.Visible = True
MyXL.Parent.Windows(1).Visible = True
Do manipulations of your file here.
' ...
' If this copy of Microsoft Excel was not running when you
' started, close it using the Application property's Quit method.
' Note that when you try to quit Microsoft Excel, the
' title bar blinks and a message is displayed asking if you
' want to save any loaded files.
If ExcelWasNotRunning = True Then
MyXL.Application.Quit
End IF
Set MyXL = Nothing ' Release reference to the
' application and spreadsheet.
End Sub
Sub DetectExcel()
' Procedure dectects a running Excel and registers it.
Const WM_USER = 1024
Dim hWnd As Long
' If Excel is running this API call returns its handle.
hWnd = FindWindow("XLMAIN", 0)
If hWnd = 0 Then ' 0 means Excel not running.
Exit Sub
Else
' Excel is running so use the SendMessage API
' function to enter it in the Running Object Table.
SendMessage hWnd, WM_USER + 18, 0, 0
End If
End Sub

Pastaba : Mašininio vertimo atsakomybės atsisakymas: Šis straipsnis išverstas naudojant kompiuterinę sistemą be žmogaus įsikišimo. „Microsoft“ pateikia šiuos mašininius vertimus norėdama padėti anglų kalbos nesuprantantiems vartotojams perskaityti turinį apie „Microsoft“ produktus, paslaugas ir technologijas. Šis straipsnis išverstas mašininio vertimo būdu, todėl jame gali būti žodyno, sintaksės ar gramatikos klaidų.

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×