الدالة GetObject

هام: تمت ترجمة هذه المقالة ترجمة آلية، راجع إقرار إخلاء المسؤولية. يرجى الاطلاع على النسخة الإنجليزية من هذه المقالة. هنا للرجوع إليها.

ملاحظة: يتم تعطيل الداله اسلوب الكائن او الخاصيه هو موضح في هذا الموضوع اذا Microsoft Jet Expression Service قيد التشغيل في وضع الحمايه، الذي يمنع تقييم التعبيرات قد تكون غير امنه. ل# مزيد من المعلومات حول وضع الحمايه، ابحث عن "وضع الحمايه" في "تعليمات".

ارجاع مرجع الي كائن تم توفيرها من قبل عنصر تحكم ActiveX.

بناء الجملة

GetObject ([اسم مسار ] [، فئه ] )

يحتوي بناء جمله الداله GetObject علي الوسيطات التاليه:

الوسيطة

الوصف

اسم مسار

اختياري. متغير (سلسله). المسار الكامل و# اسم الملف الذي يحتوي علي الكائن ل# استرداد. اذا تم حذف اسم مسار ، فئه مطلوب.

فئه

اختياري. متغير (سلسله). سلسله تمثل فئة ل# الكائن.


فئه وسيطة يستخدم بناء الجمله appname.نوع الكائن و# الاجزاء التاليه:

الجزء

الوصف

appname

مطلوب. متغير (سلسله). اسم التطبيق الذي يوفر الكائن.

نوع الكائن

مطلوب. متغير (سلسله). نوع او فئه الكائن ل# انشاء.


ملاحظات

ملاحظة: توضح الامثله التاليه استخدام هذه الداله في Visual Basic for Applications (VBA) الوحده النمطيه. ل# الحصول علي مزيد من المعلومات حول العمل ب# استخدام VBA، حدد مرجع المطور في القائمه المنسدله الموجود ب# جانب بحث و# ادخل شروط واحد او اكثر في مربع البحث.

استخدم الداله GetObject ل# الوصول الي كائن ActiveX من ملف و# تعيين الكائن ل# متغير العنصر. استخدام العباره Set ل# تعيين الكائن ارجاعها ب# واسطه GetObject الي متغير الكائن. على سبيل المثال:

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

عند تنفيذ هذا الرمز، يتم بدء تشغيل التطبيق المقترن ب المحدد اسم المسار و# تنشيط الكائن في الملف المحدد.

اذا كان اسم مسار عباره عن سلسله فارغه ("")، ترجع الداله GetObject مثيل كائن جديد من النوع المحدد. اذا تم حذف الوسيطه اسم مسار ، ترجع الداله GetObject كائن نشط حاليا من النوع المحدد. في حاله وجود ليس كائن من النوع المحدد، يحدث خطا.

بعض التطبيقات تسمح لك ب# تنشيط جزءا من ملف. اضافه تعجب (!) الي نهايه اسم الملف و# اتبعها ب# سلسله التي تعرف جزءا من ملف التي تريد تنشيطها. ل# مزيد من المعلومات حول كيفيه انشاء هذه السلسله، راجع الوثائق الخاصه ب# التطبيق الذي انشا الكائن.

علي سبيل المثال، في تطبيق رسم الذي قد متعدده الطبقات ل# رسم مخزن في ملف. يمكنك استخدام التعليمات البرمجيه التاليه ل# تنشيط طبقه ضمن رسم يسمي SCHEMA.CAD:

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

اذا لم تقم ب# تحديد الكائن الفئه، التنفيذ التلقائي ب# تحديد التطبيق ل# بدء تشغيل و# الكائن ل# تنشيط، استنادا الي اسم الملف توفرها. قد تدعم بعض الملفات، و# مع ذلك، علي اكثر من فئه ل# الكائن. علي سبيل المثال، قد تدعم رسم ثلاثه انواع مختلفه من الكائنات: كائن تطبيق و# كائن رسومي كائن شريط الادوات ، جزء من الملف نفسه. ل# تحديد اي كائن في ملف التي تريد تنشيطها، استخدم وسيطه اختياريه الفئه . على سبيل المثال:

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

في المثال، يتم FIGMENT هو اسم التطبيق رسم و DRAWING احد انواع الكائنات التي يدعمها.

ب# مجرد تنشيط احد كائنات، يمكنك الرجوع اليه في التعليمات البرمجيه استخدام متغير الكائن قمت ب# تعريفها. في المثال السابق، يمكنك الوصول الي خصائص و# اساليب ل# كائن جديد ب# استخدام متغير الكائن MyObject. على سبيل المثال:

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

ملاحظة: استخدم الداله GetObject عند وجود مثيل الحالي ل# الكائن او اذا كنت تريد انشاء الكائن ب# الفعل تحميل ملف. اذا كان هناك غير اي المثيل الحالي، و# لا تريد تشغيل الكائن مع ملف تم تحميلها، استخدم الداله CreateObject .

اذا سجلت كائن نفسه ك# كائن المثيل الواحد، واحد فقط ل# الكائن يتم انشاء مثيل، ليس عدد المرات التي يتم تنفيذ CreateObject الاهميه. ب# استخدام كائن المثيل الواحد، GetObject دائما ب# ارجاع نفس المثيل عند استدعاء ب# سلسله فارغه ("") بناء الجمله، و# ذلك الي حدوث خطا اذا تم حذف الوسيطه اسم مسار . لا يمكنك استخدام GetObject ل# الحصول علي مرجع الي فئه تم انشاؤه ب# استخدام Visual Basic.

مثال

يستخدم هذا المثال الداله GetObject ل# الحصول علي مرجع الي ورقه عمل معينه Microsoft Office Excel 2007 (MyXL). يستخدم خاصيه التطبيق ورقه العمل ل# جعل Excel مرئيه، ل# اغلاقها، و# هكذا. استخدام استدعاءات API اثنين، اجراء ديتيكتيكسسيل Sub البحث ل Excel، و# اذا كان قيد التشغيل، يقوم ب# ادخاله في "جدول كائنات قيد التشغيل". استدعاء GetObject الاول الي حدوث خطا اذا لم يكن قيد التشغيل Microsoft Excel. في المثال، يؤدي الخطا العلامه اكسسيلواسنوترونينج ستعين الي صواب. يحدد المكالمه الثاني الي GetObject ملف ل# فتحه. اذا لم يكن ب# الفعل تشغيل Excel، الاستدعاء الثاني بدئه و# ارجاع مرجع الي ورقه العمل يتم تمثيله ب# الملف المحدد، mytest.xls. يجب ان يكون الملف موجودا في الموقع المحدد؛ و# الا، يتم انشاء خطا Visual Basic خطا التنفيذ التلقائي. بعد ذلك، يقوم مثال التعليمات البرمجيه كل من Excel و# الاطار الذي يحتوي علي ورقه العمل المحدد مرئيه. و# اخيرا، اذا لم يكن هناك ليس اصدار سابق من Excel قيد التشغيل، تستخدم التعليمه البرمجيه اسلوبtالتيالكائن التطبيق ل# اغلاق Excel. اذا تم ب# الفعل تشغيل التطبيق، يتم اجراء ايه محاوله ل# اغلاقه. يتم اصدار المرجع نفسه عن طريق تعيين الي اي شيء.

' 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

ملاحظة: إقرار إخلاء المسؤولية للترجمة الآلية: تمت ترجمة هذه المقالة بواسطة نظام كمبيوتر دون تدخل العامل البشري. توفر Microsoft هذه الترجمات الآلية لمساعدة المستخدمين الذين لا يتحدثون الإنجليزية على استخدام منتجات Microsoft، وخدماتها، وتقنياتها والاستمتاع بها. قد تحتوي هذه المقالة على أخطاء في المفردات، أو بناء الجملة، أو القواعد نظرًا لترجمتها آليًا.

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Office Insider

هل كانت المعلومات مفيدة؟

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×