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 Excel fra Word

De to eksempelmakroene nedenfor viser hvordan man kan sende informasjon til Excel fra Word (f.eks. opprette en ny arbeidsbok) og hvordan man kan hente informasjon fra Excel (f.eks. lese innholdet i en arbeidsbok).

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

Sub OpprettNyExcelWB()
' lim denne kildekoden inn i en Word modul
' legg til en referanse til Excel objektbiblioteket
' lag en mappe som heter C:\Foldername eller rediger filnavnene i kildekoden
Dim xlApp As Excel.Application
Dim xlWB As Excel.Workbook
Dim i As Integer
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = True
    Set xlWB = xlApp.Workbooks.Add ' opprett en ny arbeidsbok
    ' eller
    'Set xlWB = xlApp.Workbooks.Open("C:\Foldername\Filename.xls") 
    ' åpne en eksisterende arbeidsbok
    ' eksempler på Excel handlinger
    With xlWB.Worksheets(1)
        For i = 1 To 100
            .Cells(i, 1).Formula = "Her er eksempellinje nr. " & i
        Next i
        If Dir("C:\Foldername\MyNewExcelWB.xls") <> "" Then
            Kill "C:\Foldername\MyNewExcelWB.xls"
        End If
        .SaveAs ("C:\Foldername\MyNewExcelWB.xls")
    End With
    xlWB.Close False ' lukk arbeidsboken uten å lagre endringer
    xlApp.Quit ' lukk Excel
    Set xlWB = Nothing
    Set xlApp = Nothing
End Sub


Sub LesInnholdExcelWB()
' forutsetter at den foregående makroen har blitt kjørt
Dim xlApp As Excel.Application
Dim xlWB As Excel.Workbook
Dim tString As String, r As Long
    Documents.Add ' oppretter et nytt dokument
    Set xlApp = CreateObject("Excel.Application")
    'xlApp.Visible = True
    'xlApp.ScreenUpdating = False
    Set xlWB = xlApp.Workbooks.Open("C:\Foldername\MyNewExcelWB.xls") 
    ' åpne en eksisterende arbeidsbok
    ' eksempler på Excel handlinger
    r = 1
    With xlWB.Worksheets(1)
        While Cells(r, 1).Formula <> ""
            tString = Cells(r, 1).Formula
            With ActiveDocument.Content
                .InsertAfter tString
                .InsertParagraphAfter
            End With
            r = r + 1
        Wend
    End With
    xlWB.Close False ' lukker arbeidsboken uten å lagre endringer
    xlApp.Quit ' lukker Excel
    Set xlWB = Nothing
    Set xlApp = Nothing
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