ERLANDSEN DATA CONSULTING Excel & VBA Tips   Information in English / Informasjon på engelsk

Disse websidene oppdateres ikke lengre og er kun tilgjengelig for historikken sin skyld.

Klikk her for å gå til den oppdaterte informasjonen.

Kontrollere Word fra Excel

De to eksempelmakroene nedenfor viser hvordan man kan sende informasjon til Word (f.eks. opprette et nytt dokument) og hvordan man kan hente informasjon fra Word (f.eks. lese innholdet i et dokument).

NB! Les og rediger kildekoden før du kjører den i ditt eget prosjekt!

Sub OpprettNyttWordDokument()
' lim denne kildekoden inn i en Excel modul
' legg til en referanse til Word objektbiblioteket
' lag en ny mappe som heter C:\Foldername eller rediger filnavnene i koden
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Dim i As Integer
    Set wrdApp = CreateObject("Word.Application")
    wrdApp.Visible = True
    Set wrdDoc = wrdApp.Documents.Add ' opprett et nytt dokument
    ' eller
    'Set wrdDoc = wrdApp.Documents.Open("C:\Foldername\Filename.doc") 
    ' åpne et eksisterende dokument
    ' eksempler på Word handlinger
    With wrdDoc
        For i = 1 To 100
            .Content.InsertAfter "Her er eksempellinje nr. " & i
            .Content.InsertParagraphAfter
        Next i
        If Dir("C:\Foldername\MyNewWordDoc.doc") <> "" Then
            Kill "C:\Foldername\MyNewWordDoc.doc"
        End If
        .SaveAs ("C:\Foldername\MyNewWordDoc.doc")
        .Close ' close the document
    End With
    wrdApp.Quit ' lukk Word
    Set wrdDoc = Nothing
    Set wrdApp = Nothing
End Sub


Sub LesInnholdetFraEtDokument()
' forutsetter at den foregående makroen har blitt kjørt
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Dim tString As String, tRange As Word.Range
Dim p As Long, r As Long
    Workbooks.Add ' oppretter en ny arbeidsbok
    With Range("A1")
        .Formula = "Word dokumentinnhold:"
        .Font.Bold = True
        .Font.Size = 14
        .Offset(1, 0).Select
    End With
    r = 3 ' startraden for de kopierte dataene fra Word-dokumentet
    Set wrdApp = CreateObject("Word.Application")
    'wrdApp.Visible = True
    Set wrdDoc = wrdApp.Documents.Open("C:\Foldername\MyNewWordDoc.doc")
    ' eksempler på Word handlinger
    With wrdDoc
        For p = 1 To .Paragraphs.Count
            Set tRange = .Range(Start:=.Paragraphs(p).Range.Start, _
                End:=.Paragraphs(p).Range.End)
            tString = tRange.Text
            tString = Left(tString, Len(tString) - 1) 
            ' utelat linjeskiftet
            ' Sjekk om teksten inneholder den informasjonen du ønsker
            If InStr(1, tString, "1") > 0 Then 
                ' fyll inn teksten i det aktive regnearket
                ActiveSheet.Range("A" & r).Formula = tString
                r = r + 1
            End If
        Next p
        .Close ' lukk dokumentet
    End With
    wrdApp.Quit ' lukk Word
    Set wrdDoc = Nothing
    Set wrdApp = Nothing
    ActiveWorkbook.Saved = True
End Sub

 

Dokumentet er sist oppdatert 2000-04-12 12:35:01      Utskriftsvennlig versjon

 

Erlandsen Data Consulting     http://www.erlandsendata.no/   
Excel & VBA Tips   Copyright ©1999-2017    Ole P. Erlandsen   All rights reserved
E-post kontaktadresse