Hvordan lage MS Word Text Entry Bruke VBA for Excel

Hvis du har begynt å bruke Visual Basic for Applications (VBA) for Excel, har du allerede sett hvordan VBA kan slå en god regneark i en stor en. Innspilte makroer kan automatisere oppgaver, men den reelle makten i VBA er i Visual Basic Editor, der du kan skrive prosedyrer som strekker Excel evner. Du kan også bruke VBA til å nå utenfor Excel, inn i et annet Office-program, for eksempel Word. Siden begge programmer bruker VBA programmeringsspråk, kan du skrive kode i Excel for å starte Word og skrive inn tekst i et dokument. Kjør eksempelkoden, og deretter bruke VBA ferdigheter til å endre koden til den passer dine behov.

Bruksanvisning

1 Start Word og åpne et nytt dokument. Lagre dokumentet med et nytt navn, for eksempel "C:. \ TestDoc.doc" Noter navnet du velger, som du skal bruke den i VBA-kode. Lukk dokument og avslutte Word.

2 Åpne Excel.

3 Start Visual Basic Editor. Høyreklikk på "Ark1" fanen nederst på skjermen. Velg "Vis kode".

4 Legg objektet biblioteket inneholder objekter, egenskaper og metoder for Word. Velg "Verktøy" etterfulgt av "Referanser" fra menyen. Bla nedover listen til du finner "Microsoft Word XX.X Object Library" (xx.x står for den versjonen,. For eksempel, hvis du bruker Office 2007, se etter Microsoft Word 12.0 Object Library) Sjekk i boksen, og klikk deretter "OK".

5 Sett inn en modul for å holde koden din ved å velge "Sett inn" og deretter "Module" fra menyen.

6 Begynn en subprocedure. Skriv inn følgende i den nye modulen:

Sub Word_Text ()

Trykk enter." Excel genererer automatisk en "End Sub" statement.

7 Erklærer variabler. Skriv inn følgende kode mellom "Sub" og "End Sub" uttalelser:

Dim wdApp Som Object, wdDoc As Object

Dim wordfile As String, enterstring As String

8 Sett verdien av variabelen "wordfile," spesifisere testen dokumentet du opprettet i Word. Hvis du senere ønsker å bruke en annen Word-dokument, endre filnavnet på denne linjen med kode. Skriv inn følgende:

wordfile = "c: \ testdoc.doc"

9 Sett verdien av variabelen "enterstring" til den teksten du vil legge på toppen av Word-dokumentet. Skriv inn følgende:

enterstring = "Legg til tekst til filen."

10 Legg en feilhåndterings rutine å sjekke om Word kjører allerede. Hvis ikke, kan du åpne en ny forekomst av Word. Skriv inn følgende:

På Error Resume Next

Sett wdApp = GetObject ( "Word.Application")

Hvis wdApp Er Ingenting Deretter

Sett wdApp = Create ( "Word.Application")

Slutt om

På Error GoTo 0

11 Legg kode for å åpne Word-dokumentet. Skriv inn følgende:

Sett wdDoc = GetObject (wordfile)

12 Legg kode for å få Word-programmet synlig, og deretter flytte innsettingspunktet til begynnelsen av dokumentet. Skriv inn følgende:

med wdApp

.Visible = True

.Selection.HomeKey Enhet: = wdStory, Extend: = wdMove

End With

1. 3 Legg kode for å skrive eksempelteksten i "enterstring" til Word-dokumentet, etterfulgt av et linjeskift. Skriv inn følgende:

med wdDoc.Content

.InsertAfter enterstring

.InsertParagraphAfter

End With

14 Legg kode for å tømme ut objektvariabler for å frigjøre minne som brukes av programmet. Skriv inn følgende:

Sett wdDoc = Nothing

Sett wdApp = Nothing

La "End Sub" statement på plass.

15 Utføre koden. Velg "Kjør" etterfulgt av "Run Sub / Userform" fra menyen.

16 Se eksempel Word-dokumentet du opprettet i trinn 1. På toppen av dokumentet, skal du se en linje lesing, "Legg til denne teksten til filen."

Hint

  • Hvis du får en feilmelding, se etter tekst oppføring feil i koden din, slik som ekstra eller utelatt anførselstegn, mellomrom og punktum.
  • En feilmelding lesing, "File navn eller klasse navn ikke funnet under Automation operasjon" betyr at det var et problem å finne testen Word-dokument. Sjekk verdien tilordnet "wordfile", inkludert filnavnet og banen.
  • Hvis du ikke ser den eksempeltekst i Word-dokumentet, eller du får en annen feil, kan du prøve å tråkke gjennom koden. Plasser markøren på begynnelsen av modulen. Trykk "F8" gjentatte ganger for å kjøre en linje med kode på en gang, observere resultatene.