הערה: הפונקציה, פעולת השירות, האובייקט או המאפיין המתוארים בנושא זה אינם זמינים אם שירות הביטויים של Microsoft Jet פועל במצב ארגז חול (Sandbox) שמונע הערכה של ביטויים שעלולים להיות לא בטוחים. לקבלת מידע נוסף על מצב ארגז חול, חפש את "מצב ארגז חול" בעזרה.
יצירה והחזרה של הפניה לאובייקט ActiveX.
תחביר
CreateObject ( class [, servername] )
תחביר הפונקציה CreateObject מכיל את הארגומנטים הבאים:
ארגומנט |
תיאור |
מחלקה |
נדרש. משתנה (מחרוזת). שם היישום והמחלקה של האובייקט ליצירה. |
שם שרת |
אופציונלי. משתנה (מחרוזת). שם שרת הרשת שבו ייווצר האובייקט. אם servername הוא מחרוזת ריקה (""), נעשה שימוש במחשב המקומי. |
מחלקה זו ארגומנט את שם היישום של התחביר.objecttype והוא כולל את החלקים הבאים:
חלק |
תיאור |
שם אפליקציה |
נדרש. משתנה (מחרוזת). שם היישום המספק את האובייקט. |
סוג אובייקט |
נדרש. משתנה (מחרוזת). הסוג או מחלקה של האובייקט ליצירה. |
הערות
כל יישום התומך באוטומציה מספק לפחות סוג אחד של אובייקט. לדוגמה, יישום עיבוד מילים עשוי לספק אובייקט Application , אובייקט Document אובייקט סרגל כלים.
כדי ליצור אובייקט 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. לאחר יצירת אובייקט, יש להפנות אותו בקוד באמצעות משתנה האובייקט שאתה מגדיר. בדוגמה הבאה, תוכל לגשת למאפיינים ולפעולות שירות של האובייקט החדש באמצעות משתנה האובייקט, 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"))
באפשרותך ליצור אובייקט במחשב מרוחק ברשת על-ידי העברת שם המחשב לארגומנט שם השרתשל CreateObject. שם זה זהה לחלק 'שם מחשב' של שם שיתוף: עבור שיתוף בשם "\\MyServer\Public", שם השרת הוא "MyServer".
הערה: עיין בתיעוד COM (ראה Microsoft Developer Network) לקבלת מידע נוסף אודות הפיכת יישום לגלוי במחשב מרוחק ברשת. ייתכן שתצטרך להוסיף מפתח רישום עבור היישום שלך.
הקוד הבא מחזיר את מספר הגירסה של מופע של Excel הפועל במחשב מרוחק בשם MyServer:
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer") Debug.Print xlApp.Version
אם השרת המרוחק אינו קיים או אינו זמין, מתרחשת שגיאת זמן ריצה.
הערה: השתמש ב- CreateObject כאשר אין מופע נוכחי של האובייקט. אם מופע של האובייקט כבר פועל, מופעל מופע חדש, וניווצר אובייקט מסוג שצוין. כדי להשתמש במופע הנוכחי, או כדי להפעיל את היישום טען קובץ, השתמש בפונקציה GetObject .
אם אובייקט רשם את עצמו אובייקט בעל מופע יחיד, נוצר מופע אחד בלבד של האובייקט, ללא קשר למספר הפעמים ש- CreateObject מבוצע.
דוגמה
דוגמה זו משתמשת בפונקציה CreateObject כדי להגדיר הפניה (
xlApp
) ל- Excel. היא משתמשת בהפניה כדי לגשת למאפיין Visible של Excel ולאחר מכן משתמשת בפעולת השירות Quit של 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.