הפונקציה CreateObject

הערה: אנו מעוניינים לספק לך את תוכן העזרה העדכני ביותר במהירות האפשרית, בשפה שלך. דף זה תורגם באמצעות אוטומציה והוא עשוי לכלול שגיאות דקדוק או אי-דיוקים. מטרתנו היא כי תוכן זה יהיה שימושי עבורך. האם תוכל לספר לנו אם המידע הועיל לך, בחלק התחתון של דף זה? לנוחותך, הנה המאמר באנגלית.

הערה: הפונקציה, פעולת השירות, האובייקט או המאפיין המתוארים בנושא זה אינה זמינה אם שירות הביטויים של Microsoft Jet פועל במצב ארגז חול, דבר המונע הערכה של ביטויים לא בטוחים שעלולים להיות לא בטוחים. לקבלת מידע נוסף אודות מצב ארגז חול, חפש את ' מצב ארגז חול ' בעזרה.

יצירה והחזרה של הפניה לאובייקט ActiveX.

תחביר

CreateObject ( class [, servername] )

תחביר הפונקציה CreateObject מכיל את הארגומנטים הבאים:

ארגומנט

תיאור

מחלקה

נדרש. משתנה (String). שם היישום והכיתה של האובייקט שברצונך ליצור.

servername

אופציונלי. משתנה (String). שם שרת הרשת שבו האובייקט ייווצר. אם servername הוא מחרוזת ריקה (""), נעשה שימוש במחשב המקומי.


מחלקת הכיתה ארגומנט משתמשת בתחביר appname.objecttype והוא כולל את החלקים הבאים:

חלק

תיאור

appname

נדרש. משתנה (String). שם היישום המספק את האובייקט.

objecttype

נדרש. משתנה (String). הסוג או מחלקה של האובייקט שברצונך ליצור.


הערות

כל יישום התומך באוטומציה מספק סוג אובייקט אחד לפחות. לדוגמה, יישום עיבוד תמלילים עשוי לספק אובייקט יישום , אובייקט מסמך ואובייקט סרגל כלים .

כדי ליצור אובייקט ActiveX, הקצה את האובייקט שהוחזר על -ידי CreateObject למשתנה אובייקט:

הערה: הדוגמאות הבאות מדגימות את השימוש של פונקציה זו במודול Visual Basic for Applications‏ (VBA). לקבלת מידע נוסף אודות עבודה עם VBA, בחר הפניית מפתח ברשימה הנפתחת שליד חיפוש והזן מונח אחד או יותר בתיבת החיפוש.

' Declare an object variable to hold the object 
' reference. Dim as Object causes late binding.
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")

בדוגמה זו, אנו נעשה אוטומציה של אובייקט גיליון אלקטרוני של Excel מתוך מסד נתונים של Access. קוד זה מפעיל את היישום יצירת האובייקט, במקרה זה, גיליון אלקטרוני של Microsoft Excel. לאחר יצירת אובייקט, עליך להפנות אותו בקוד באמצעות משתנה האובייקט שהגדרת. בדוגמה הבאה, תוכל לגשת למאפיינים ולשיטות של האובייקט החדש באמצעות המשתנה object, ExcelSheetואובייקטים אחרים של Excel, כולל האובייקט Application ואוסף Cells .

' Make Excel visible through the Application object.
ExcelSheet.Application.Visible = True
' Place some text in the first cell of the sheet.
ExcelSheet.Application.Cells(1, 1).Value = "This is column A, row 1"
' Save the sheet to C:\test.xls directory.
ExcelSheet.SaveAs "C:\TEST.XLS"
' Close Excel with the Quit method on the Application object.
ExcelSheet.Application.Quit
' Release the object variable.
Set ExcelSheet = Nothing

הכרזה על משתנה אובייקט באמצעות הפסוקית As Object יוצרת משתנה שיכול להכיל הפניה לכל סוג של אובייקט. עם זאת, הגישה לאובייקט דרך משתנה זו מאוגדת באיחור; כלומר, האיגוד מתרחש כאשר התוכנית שלך מופעלת. כדי ליצור משתנה אובייקט שתוצאתו מתבצעת באיגוד מוקדם, כלומר, כריכה בעת הידור של התוכנית, הצהר על משתנה האובייקט באמצעות מזהה מחלקה ספציפי. לדוגמה, באפשרותך להצהיר וליצור את ההפניות הבאות של Excel:

Dim xlApp As Excel.Application 
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorkSheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

ההפניה דרך משתנה מאוגד מוקדם יכולה לספק ביצועים טובים יותר, אך יכולה להכיל רק הפניה למחלקה שצוין ב- הצהרה.

באפשרותך להעביר אובייקט שהוחזר על-ידי הפונקציה CreateObject לפונקציה המצפה לאובייקט כארגומנט. לדוגמה, הקוד הבא יוצר ומעביר הפניה לאובייקט של Excel. Application:

Call MySub (CreateObject("Excel.Application"))

באפשרותך ליצור אובייקט במחשב ברשת מרוחקת על-ידי העברת שם המחשב לארגומנט servername של CreateObject. שם זה זהה לחלק של שם המחשב של שם שיתוף: עבור שיתוף בשם "\\MyServer\Public," servername הוא "MyServer".

הערה:  עיין בתיעוד COM (ראה רשת מפתחים של Microsoft) לקבלת מידע נוסף אודות הפיכת יישום לגלוי במחשב מרוחק ברשת. ייתכן שתצטרך להוסיף מפתח רישום עבור היישום שלך.

הקוד הבא מחזיר את מספר הגירסה של מופע של Excel הפועל במחשב מרוחק בשם MyServer:

Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer")
Debug.Print xlApp.Version

אם השרת המרוחק אינו קיים או שאינו זמין, מתרחשת שגיאת זמן ריצה.

הערה:  השתמש ב- CreateObject כאשר אין מופע נוכחי של האובייקט. אם מופע של האובייקט כבר פועל, מופע חדש מופעל ואובייקט מהסוג שצוין נוצר. כדי להשתמש במופע הנוכחי, או כדי להפעיל את היישום ולהטעין קובץ, השתמש בפונקציה GetObject .

אם אובייקט רשם את עצמו כאובייקט בעל מופע יחיד, נוצר מופע אחד בלבד של האובייקט, ללא קשר למספר הפעמים שבהן CreateObject מופעל.

דוגמה

דוגמה זו משתמשת בפונקציה CreateObject כדי להגדיר הפניה (

xlApp

) ל-Excel. היא משתמשת בהפניה כדי לגשת למאפיין Visible של Excel, ולאחר מכן משתמשת בפעולת השירות ' צא מ-excel ' כדי לסגור אותה. לבסוף, ההפניה עצמה משוחררת.

Dim xlApp As Object    ' Declare variable to hold the reference.
Set xlApp = CreateObject("excel.application")
' You may have to set Visible property to True
' if you want to see the application.
xlApp.Visible = True
' Use xlApp to access Microsoft Excel's
' other objects.
xlApp.Quit ' When you finish, use the Quit method to close
Set xlApp = Nothing ' the application, then release the reference.
שפר את הכישורים שלך ב- Office
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Office Insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×