et excel - makro - at afgøre, om en dagbog er åben

, som du synes om automatisk åbning excel - bøger, overveje, hvad der kan ske, hvis man forsøger at åbne en bog, der allerede er åben.i den ikke - vba verden udmærke sig forsøg på at åbne sagen igen med det budskab, vist advarsel om, at gemt ændringer vil være tabt.du kan beskytte os mod en sådan begivenhed ved at kontrollere, om en given sag allerede er åbne, før de prøver at åbne den igen. for at undgå denne advarsel.hvordan de makroøkonomiske fungerer, for det første meddelelse om makro - er, at det er en funktion, ikke en sub - procedure.som de vil se, at denne makroøkonomiske forhold gør dig i stand til at overvælte en filnavn, til at undersøge, om det er allerede åben. essensen af denne kodeks er enkel.du tester en given filnavn, for at se, om det kan henføres til et objekt er variabel.kun åbnet bøger kan henføres til et objekt er variabel.når du prøver at tildele et lukket arbejdsbog med variabel, en fejl forekommer. hvis givet arbejdsbog kan tildeles, arbejdsbog er åben, sker der en fejl, den dagbog er lukket., funktion fileisopentest (targetworkbook som snor) som boolean "trin 1: erklærer din variabler dim testbook som arbejdsbog" trin 2 fortæl excel til at genoptage den fejl på fejl genoptage næste trin 3: prøv at tildele det mål at testbook arbejdsbog, der testbook = bøger (targetworkbook) trin 4: hvis nogen fejl begået arbejdsbog allerede er åben, hvis fejle. antal = 0, så fileisopentest = true andre fileisopentest = falske, hvis ende funktion, den første ting, de makroøkonomiske gør, er at erklære en snor variabel, der vil holde filnavn, at brugeren vælger.testbook hedder din snor variabel. i trin 2, fortæller du tryller, at der kan være en fejl at løbe denne kode, og, i tilfælde af en fejl, genoptage den kode.uden denne linje, ville koden til at standse, når en fejl forekommer.igen, du prøve en given filnavn, for at se, om det kan henføres til et objekt er variabel.hvis den pågældende arbejdsbog kan tildeles, den er åben, sker der en fejl, det er lukket. i fase 3 - forsøg på at tildele givet arbejdsbog til testbook objekt variabel.den arbejdsbog du prøver at tildele en snor variable ringede targetworkbook.targetworkbook er gået til funktion i funktion erklæringer (se første linje i code).denne struktur kan fjerne behovet for hårde kode arbejdsbog navn, som gør det muligt at give den som en variabel i stedet. i trin 4, du bare se, hvis der opstod en fejl.hvis en fejl ikke forekommer, arbejdsbog er åben, så du satte den fileisopentest til ægte.hvis der opstod en fejl, arbejdsbog er ikke åben, og du satte fileisopentest falske. også denne funktion kan anvendes til at evaluere en fil, du går til den via sin targetworkbook argument.det er det smukke ved makro - til en funktion, som den viser, hvordan til at gennemføre denne opgave.her, du kalder den nye fileisopentest funktion for at sikre, at brugeren kan ikke åbne en allerede indledt sag: i macro1() "trin 1: at definere en række variable dim fname som variant dim fnfileonly som klynge trin 2: getopenfilename metode aktiverer dialog rubrik fname = anvendelse. getopenfilename (_ filefilter: =" excel - bøger.. xl * ", _ titel: =" vælg en dagbog for at åbne ", _ multiselect: = falske) trin 3: åbne den valgte fil, hvis den ikke allerede er åbnet, hvis fname < > falske så fnfileonly = strreverse (venstre (strreverse (fname), _ instr (strreverse (fname)," og ") - 1), hvis fileisopentest (fnfileonly) = sandt, så msgbox" den pågældende fil er allerede åben "andetbøger. åben filnavn: = fname, hvis ende, hvis ende afrika, med denne makroøkonomiske gennemføres, får du mig besked, rubrik vist. en renere, mere præcise budskab.hvordan anvendes makroen, til at gennemføre denne makroøkonomiske, du kan kopiere og pasta, begge dele af kodeksen til et standardmodul:,,, aktiverer visuel grundlæggende redaktør ved presning af alat + f11.,,,, højre klik projektet /arbejdsbog navn i projektet vindue.,,,, vælge indsæt → modul.,,,, - eller pasta, koden i den nyoprettede modul.,,,, (fakultativ) tildele makro - til en knap.,,,

Avoid this warning message.
A cleaner, more concise message.



Previous:
Next Page: