IZBORNIK HOME FORUM ACCESS 2003 EXCEL 2003 WORD 2003  .
   
   
HOME
FORUM Win Tips&Tricks
   
KAKO INSTALIRATI
WINDOWS XP ?
Kako instalirati Win XP sa USB STICKA
Kako instalirati WINDOWS 7 ?
Naučite za 15 minuta raditi u Windows XP
Naučite Internet Explorer i Outlook Express
za 15 minuta
Kako kreirati BOOT CD za instalaciju Win95
   
MS OFFICE 2003
MS OFFICE 2007
   
   
HOME NETWORK
tutorijal za mreže
Network Windows 7 - XP
   
ZANIMLJIVI LINKOVI
BROJEVNI SUSTAVI
(DEC, OKT, BIN, HEX )
CMD - Command Prompt
CISCO - CCNA tutoriali
VLSM and SUBNETTING
   
Tutorijali za phpBB forum
JAVASCRIPT
VISUAL BASIC 6.0
AUTOCAD 2007
 
 
 
-
MICROSOFT EXCEL 2007 - ne funkcionira mi Workbook_Open događaj u VBA, Workbook_Open() event dont working - Workbook_Open event wil not run

Prilikom otvaranja radne knjige događaj Workbook_Open() ne radi
Workbook_Open() event does not working


Kako riješiti problem kada Workbook_Open događaj u VBA makronaredbi neradi kako treba tj. ne funkcionira



Ako čitate ovaj tutorijal, tada vjerojatno imate neko znanje rada sa VBA makronaredbama u Excelu. Uz to sigurno vam ne funkcionira Workbook_Open događaj kada otvorite datoteku vaše excel aplikacije. Dakle postavili ste Workbook_Open VBA kod u ThisWorkbook ali ne funkcionira kada pokrenete datoteku.

U koliko imate problema sa pokretanjem vaše Workbook koja u modulu ThisWorkbook sadrži događaj ili VBA makronaredbu Workbook_Open() pogledajte nekoliko načina na koji možete riješiti problem.

Security Macro Settings u Excelu 2007

Kao prvo potrebno je da provjerite je li vam u Excelu uključena opcija koja dozvoljava izvršavanje makronaredbi. Pogledajte sliku ispod za Excel 2007 a za Excel 2003 pogledajte link.
Ovdje vas želim upozoiriti, vaša stvar je kako ćete postaviti sigurnosni nivo u ovim postavkama. Ja sam na slici postavio minimalne zahtjeve. Dakle dozvolio sam pokretanje za sve VBA makronaredbe tj. Excel datoteke koje sadrže VBA kod. Ovo je veliki sigurnosni rizik ako pokrećete Excel datoteku koja sadrži VBA iz nepoznatih izvora, lokacija ili autora. To je vaš rizik od eventualnog pokretanja VBA koda koji može sadržavati neki virus ili sam biti virus. MOžda da isprobate neku od jačih restrikcija, barem sa nekim upozorenjem.

uključena opcija koja dozvoljava izvršavanje makronaredbi u Excelu 2007

Trusted Locations u Excelu 2007

Trusted Locations ili lokacija kojoj vjerujemo postavlja se u Excelu 2007 kao na slici ispod. Dakle u Trust Center dodajte pomoću gumba ADD lokaciju u kojoj smještate vaše excel datoteke koje sadrže VBA makronaredbe. Ovo ne morate radiit ali ako često pišete VBA makronaredbe i isprobavate svoje znanje ili učite, dobro je imati ovu lokaciju.

Postavio sam visoku razinu sigurnosti ali VBA macro i dalje funkcionira?

VAŽNO! Ako postavite svoju vlastitu Trusted Locations sve datoteke koji se nalaze unutar foldera (u ovom slučaju je to C: \Users\korisnik\Downloads) i sadrže VBA makronaredbe radit će bez problema tj. bez obzira postavite li Macro Security Settings na High ili Very-High ili u ovom slučaju opciju "Disable all macros without notification".

Uočite ovaj dio upozorenja na dijalog prozoru iznad "For macros in documents not in a trusted locations". Stoga pazite dobro koje datoteke pozicionirate u dotičnu lokaciju. Tu se uglavnom stavljaju datoteke na kojima osobno vi radite, ali nemojte baš stavljati datoteke koje skinete sa interneta a ne znate je li provjeren izvor (pazite kome vjerujete). Tipka SHIFT prilikom otvaranja ignorirat će VBA macro i na ovoj lokaciji.

Dakle ako postavite Macro Security na HIGH on će funkcionirati samo za one datoteke koje nisu na našoj lokaciji kojoj vjerujemo.

Trusted Locations u Excelu 2007 za VBA makronaredbe

MS Office Diagnostic može pomoći u rješavanu problema sa Workbook_Open event

Za svaki slučaj provjerite alatom MS Office Diagnostic je li sve u redu sa Excel 2007 (meni je ovo pomoglo na neki način)

Workbook_Open event ne funkcionira u Excelu 2007 prilikom rada sa *.XLS formatom datoteke

Ovakav slučaj sam imao ja. Dakle koristim Excel 2007 i ako pokrenem neku datoteku koja je kreirana za Excel 2003 (XLS fomat) a ista sadrži Workbook_Open događaj, isti se nije aktivirao prilikom pokretanja. Uzmimo za primjer datoteku iz ovog primjera koju možete skinuti na svoje računalo ovdje.

Kreirao sam novu Workbook u kojoj sam se pozicionirao na Sheet3 koji je kao startni. Snimio sam Workbook u datoteku pod nazivom Sheet1_Activate.xls
U modul ThisWorkbook postavio sam jednostavnu VBA makronaredbu koja ima slijedeći VBA kod

Private Sub Workbook_Open()
Sheets("Sheet1").Activate
End Sub

Dakle ova makronaredba treba prilikom otvaranja Workbook preusmjeritit pozicioniranje na Sheet1 sa startnog Sheet3 koji sma postavio prilikom snimanja radne knjige. Međutim, VBA makronaredba nije odradila svoje pa sam ostao na pozicioniran Sheet3? Zašto ne znam ni sam. Kada ovo isto napravim i snimim u *.XLSM formatu za Excel 2007 sve funkcionira kako treba.

Isprobao sam jedan test da vidim je li uopće pokrenut VBA Macro sa događajem Workbook_Open. Za tu svrhu dodao sam privremeno u Module1, VBA macro koji aktivira  sve događaje u Workbook tj. testira otvorenu Workbook i pokazuje jesu li se sve makronaredbe pokrenule nakon otvaranja Workbook.
VBA macro kod za testiranje ima slijedeći sadržaj i naredbe

Sub EnableEventsNow()
Dim sMsg As String
With Application
sMsg = IIf(.EnableEvents, _
"Events were already enabled.", _
"Events are now enabled.")
.EnableEvents = True
End With
MsgBox sMsg
End Sub

Nakon snimanja Workbook sa umetnutom VBA makronaredbom iznad postavio sam kursor miša unutar linije dotične VBA makronaredbe (nebitno gdje, npr: iza riječi "String" i pritisnuo tipku F5. Pojavio se ovakav prozor kao na slici ispod. Znači da su se sve VBA makronaredbe pokrenule ispravno, ali moj file ne funkcionira? :(

VBA macro Workbook_Open event is already enabled

Rješenje ovog problema kada je datoteka u *.XLS formatu našao sam u dodatnoj VBA makronaredbi koju sam postavio u standardni Module1 a koja sadrži slijedeći VBA kod

Public Sub Auto_Open()
Application.Run "ThisWorkbook.Workbook_Open"
End Sub

Što radi ovaj događaj Auto_Open? Prilikom pokretanja datoteke on poziva događaj Workbook_Open u modulu ThisWorkbook. Tako sam uspio koristiti *.XLS file u Excelu 2007 (koji ima vjerojatno neki problem iako imam SP3). Dakle ovaj VBA macro umetnite u standardni Module



VBA Auto_Open event in standard VBA module call Workbook_Open event in ThisWorkbook





Također pogledajte tutorijal: Zaštita Workbook nakon vremenskog ograničenja





 Ova web stranica koristi COOKIES - COPYRIGHT ©- 2006 - 2021 - IvanC  - Sva prava pridržana.  ic.ims.hr