Oireet
Koodi, joka on kirjoitettu Office-sovelluksen automatisoimiseksi ja Microsoft Visual Basic for Applications (VBA) -ympäristön ja objektimallin ohjelmallisesti manipuloimiseksi, voi epäonnistua Officessa jollakin seuraavista virhesanomista: Visual Basicista tai VBA:sta:
Suorituksenaikainen virhe '6068': Visual Basic Projectin ohjelmallinen käyttö ei ole luotettavaa
Microsoft Visual C++, Microsoft Foundation Classes (MFC) tai ActiveX Template Library (ATL):
HRESULT = 0x800A17B4 (-2146822220) "Visual Basic Projectin ohjelmallinen käyttö ei ole luotettavaa"
Sama koodi toimii virheettömästi tietokoneissa, joissa on Office 97 ja Office 2000.
Syy
Office lisää suojausvaihtoehdon, jonka avulla voit tarkoituksellisesti lukita VBA-objektimallin ohjelmallisen käytön mille tahansa automaatioasiakkaalle, ellei käyttäjä päätä sallia tällaista käyttöä. Tämä on käyttäjäkohtainen ja sovelluskohtainen asetus, ja se estää käytön oletusarvoisesti. Tämä suojausasetus vaikeuttaa luvattomien ohjelmien itse replikointikoodin muodostamista, mikä voi vahingoittaa loppukäyttäjien järjestelmiä.
Ratkaisu
Jotta automaatioasiakas voi käyttää VBA-objektimallia ohjelmallisesti, koodia suorittavan käyttäjän on erikseen myönnettävä käyttöoikeus. Jos haluat ottaa käyttöoikeuden käyttöön, käyttäjän on toimittava seuraavasti.
Office 2003 ja Office XP
-
Avaa kyseinen Office 2003- tai Office XP -sovellus. Valitse Työkalut-valikossa Makro ja avaa sitten Makrosuojaus-valintaikkuna valitsemalla Suojaus.
-
Valitse Luotetut lähteet -välilehdessä Luota Visual Basic Projectin käyttöön -valintaruutu, jos haluat ottaa käytön käyttöön.
-
Ota asetus käyttöön valitsemalla OK. Sinun on ehkä käynnistettävä sovellus uudelleen, jotta koodi toimii oikein, jos automatisoit com-apuohjelman tai -mallin.
Office 2007
-
Avaa kyseinen 2007 Microsoft Office -järjestelmäsovellus. Napsauta Microsoft Office -painiketta ja valitse sittenSovelluksen asetukset.
-
Valitse Luottamuskeskus-välilehti ja valitse sittenLuottamuskeskuksen asetukset.
-
Napsauta Makroasetukset-välilehteä , valitse Luota VBA-projektiobjektimallin käyttöön -valintaruutu ja valitse sitten OK.
-
Valitse OK.