תופעות
קוד שנכתב כדי להפוך יישום של Office לאוטומטי ולטפל באופן תיכנותי בסביבת Microsoft Visual Basic for Applications (VBA) ובמודל האובייקטים עשוי להיכשל ב- Office עם אחת מהודעות השגיאה הבאות: מ- Visual Basic או מ- VBA:
שגיאת זמן ריצה '6068': גישה תיכנותית לפרוייקט Visual Basic אינה מהימנה
מתוך Microsoft Visual C++, Microsoft Foundation Classes (MFC) או ספריית תבניות ActiveX (ATL):
HRESULT = 0x800A17B4 (-2146822220) "גישה תיכנותית לפרוייקט Visual Basic אינה מהימנה"
אותו קוד פועל ללא שגיאה במחשבים עם Office 97 ו- Office 2000.
סיבה
Office מוסיף אפשרות אבטחה כדי לנעול באופן מכוון גישה תוכניתית למודל האובייקטים של VBA מכל לקוח אוטומציה, אלא אם משתמש בוחר להתיר גישה כזו. זוהי הגדרה לפי משתמש וכל יישום, והיא תכחיש את הגישה כברירת מחדל. אפשרות אבטחה זו מקשה על תוכניות לא מורשות לבנות קוד "משכפל את עצמי" שעלול להזיק למערכות משתמשי קצה.
פתרון
כדי שלוח אוטומציה יוכל לגשת למודל האובייקטים של VBA באופן תיכנותי, המשתמש שמפעיל את הקוד חייב להעניק גישה במפורש. כדי להפעיל גישה, על המשתמש לבצע שלבים אלה.
Office 2003 ו- Office XP
-
פתח את יישום Office 2003 או Office XP הרלוונטי. בתפריט כלים, לחץ על מאקרו ולאחר מכן לחץ על אבטחה כדי לפתוח את תיבת הדו-שיח אבטחת מאקרו.
-
בכרטיסיה מקורות מהימנים, לחץ כדי לבחור בתיבת הסימון תן אמון בגישה לפרוייקט Visual Basic כדי להפעיל את הגישה.
-
לחץ על אישור כדי להחיל את ההגדרה. ייתכן שיהיה עליך להפעיל מחדש את היישום כדי שהקוד יפעל כראוי אם אתה הופך לאוטומטית מתוך תוספת או תבנית של Component Object Model (COM).
Office 2007
-
פתח את יישום Microsoft Office System 2007 המדובר. לחץ על לחצן Microsoft Office ולאחר מכן לחץ עלאפשרויות יישום.
-
לחץ על הכרטיסיה מרכז יחסי האמון ולאחר מכן לחץ על הגדרותמרכז יחסי האמון.
-
לחץ על הכרטיסיה הגדרות מאקרו , לחץ כדי לבחור את תיבת הסימון תן אמון בגישה למודל האובייקטים של פרוייקט VBA ולאחר מכן לחץ על אישור.
-
לחץ על אישור.