Hvordan bruke Hendelser Med Application Object i Excel

Hvordan bruke Hendelser Med Application Object i Excel


Microsoft Excel programmeringsspråk, Visual Basic for Applications (VBA), gjør bruk av virtuelle objekter å forlenge Excel funksjoner. En av disse objektene er programmet objektet, noe som gjør at VBA programmerere å skrive programmer påvirker Excel programmet selv. Hendelser av dette objektet årsak subrutiner kalt "hendelsesfunksjoner" til å utføre. Enhver programkode som du plasserer i disse funksjonene vil kjøre når hendelsen (for eksempel ny arbeidsbok skapelse, regneark utvalg) at funksjonen ble skrevet for oppstår. En fordel med å skrive en slik kode er evnen til å screene data som brukeren angir den.

Bruksanvisning

1 Åpne Excel VBA programmering miljø ved å høyreklikke kategorien noen regneark er i en åpen arbeidsbok, og deretter velge "Vis kode" element.

2 Dobbeltklikk på "Project" i ruten "Dette arbeidsbok" rad for å åpne en ny kode vindu.

3 Lim inn følgende kode i første tomme raden i nytt vindu. Denne subrutine, som vil kjøre når du åpner den gjeldende arbeidsboken, oppretter en ny forekomst av Excel Application objekt. Ved å gjøre dette, gjør subrutine hendelses funksjonene i programmet objektet tilgjengelig å skrive programmer for.

Private WithEvents objApp Som Applikasjons

Private Sub Workbook_Open ()

Set objApp = Application

End Sub

4 Klikk lengst til venstre i rullegardinlisten øverst i koden vinduet. VBA vil vise en liste over objekter som du kan skrive hendelsen funksjonskoden for. Et av objektene i listen er "objApp" variable du erklært og definert i forrige trinn. Velg det objektet.

5 Klikk lengst til høyre nedtrekksliste med koden vinduet, og velg "NewWorkbook" hendelse funksjon. VBA vil opprette et tomt event funksjon som du skal skrive kode for.

6 Lim eller skriv inn følgende programkoden over "objApp_NewWorkbook" subrutine er "End Sub" statement.

MsgBox "Du har opprettet en ny arbeidsbok."

7 Trykk "Alt-F4" for å lukke VBA miljø, og trykk den samme tastesekvensen for å lukke Excel. Lagre arbeidsboken med noen gyldig filnavn, og med en fil forlengelse av "* .xlsm." Lagre og gjenåpning arbeidsboken, kjøres Workbook_Open hendelsen funksjonen du skrev i trinn 3. Denne funksjonen må kjøre for å aktivere noen objApp hendelses funksjoner for å kjøre.

8 Åpner arbeidsboken du bare lukket, og trykk deretter på "Control-N" for å opprette en ny arbeidsbok. Koden du skrev for objApp_NewWorkbook subrutine i trinn 6 vil utføre, og vise meldingen "Du har opprettet en ny arbeidsbok."

9 Trykk "Alt-F11" for å gå inn igjen i VBA miljø, så limer du inn følgende ny hendelse funksjon i et tomt mellomrom i koden vinduet. Denne hendelsen funksjon, som vil kjøre når du endrer noen celle i dag åpnet arbeidsbok, erstatter teksten "JS" med teksten "John Smith".

Private Sub objApp_SheetChange (ByVal Sh As Object, ByVal Target As Range)

Dim x

x = Target.Value

Hvis (x = "JS") Deretter

x = "John Smith"

Target.Value = x

Slutt om

End Sub

10 Gå tilbake til Excel ved å trykke på "Alt-F11," skriv teksten "JS" i en celle. Når du trykker på "Enter", heter det objApp_SheetChange hendelsen funksjonen du skrev i forrige trinn skal utføre, og endre "JS" inn "John Smith".