Avatar billede dennispc Nybegynder
17. december 2005 - 13:29 Der er 4 kommentarer og
2 løsninger

makro til indsættelse af flere liner fra txt fil

Jeg skal lave en "tilbuds" skabelon i word, hvortil der skal laves en makro. Makroen skal indlæse header info (navn, adresse,mv.) der indsættes øverst i min skabelon. Herefter skal der indlæses X antal liner fra filen, der indsættes som "salgslinier" ca. midt i skabelonen.

Jeg har ikke tidligere arbejdet ret meget med word, dot, og makro, så jeg håber i kan hjælpe mig igang.
Avatar billede rvm Nybegynder
17. december 2005 - 19:53 #1
Her er lidt kodet til at hente flere linier fra en txt fil:


Sub Hent()
    strFilnavn = "c:\Navne.txt"
    intFilNr1 = FreeFile
    Open strFilnavn For Input As intFilNr1
    Do While Not EOF(intFilNr1)
        Line Input #intFilNr1, strNavn
        strLinier = strNavn
    Loop
    Close intFilNr1
End Sub

strLinier vil efter hvert loop blive tildelt næste linies indhold i tekstfilen.
Avatar billede rvm Nybegynder
17. december 2005 - 19:58 #2
Du kan så bruge bogmærker til at placere teksten korrekt. F.eks.

Sub Hent()
    strFilnavn = "c:\Navne.txt"
    intFilNr1 = FreeFile
    Open strFilnavn For Input As intFilNr1
    Do While Not EOF(intFilNr1)
        tæller = tæller + 1
        Line Input #intFilNr1, strNavn
   
        Select Case tæller
            Case 1 'Navn
                ActiveDocument.Bookmarks("Navn").Select
                Selection.TypeText strNavn
            Case 2
                ActiveDocument.Bookmarks("Adresse").Select
                Selection.TypeText strNavn
            Case 3
                ActiveDocument.Bookmarks("PostrBy").Select
                Selection.TypeText strNavn
            Case 4
                ActiveDocument.Bookmarks("Resten").Select
                Selection.TypeText strNavn
          End Select
    Loop
    Close intFilNr1
End Sub
Avatar billede dennispc Nybegynder
20. december 2005 - 16:33 #3
Tak rvm,

Som sagt har jeg ikke arbejdet så meget med word tidligere, men det lykkes mig da at få afspillet din makro med case statements.

Dit første simple eksempel har jeg ikke helt gennemskuet - hvordan ved jeg hvor linierne indsættes i dokumentet ?

Du sætter strLinier = strNavn , men hvordan ved word hvad StrLinier referere til ?


Jeg kender nu opgaven lidt mere præcis og har brug for at kunne indsætte felterne fra min tekstfil i en tabel.

Forestil dig en tabel med 7 kolonner, som skal udfyldes på baggrund af følgende oplysninger i filen.

Hvert <;> betyder at vi skal hoppe til næste felt (svarre til Tab-tasten)

;;Tilbud;;;;
1;Stk;Undervisning & installation af PC;kr.;1.500,00;;
3;Stk;Win 98;kr.;2.500,00;;

Kan du hjælpe mig igang med koden til at finde frem til tabellen i mit dokument, og herefter begynde at indsætte data fra filen, hvor der tages hensyn til <;> markeringen.
Avatar billede rvm Nybegynder
20. december 2005 - 19:28 #4
Indsæt et bogmærke i den første celle i tabellen, der hedder "bmkTabel" og køre nedenstående kode- husk at ændre navnet på txt filen.

Sub Hent()
    strFilnavn = "c:\TilWord.txt" ' husk at ændre denne sti til din sti og din txt fil
    intFilNr1 = FreeFile
    Open strFilnavn For Input As intFilNr1
    ActiveDocument.Bookmarks("bmkTabel").Select
    Førstegang = True
    Do While Not EOF(intFilNr1)
        Line Input #intFilNr1, StrNavn
        MyArray = Split(StrNavn, ";")
       
        For n = 0 To UBound(MyArray)
       
            If Førstegang = True Then
                Førstegang = False
            Else
                Selection.MoveRight Unit:=wdCell
            End If
           
            Selection.TypeText MyArray(n)
        Next n
    Loop
    Close intFilNr1
End Sub
Avatar billede dennispc Nybegynder
20. december 2005 - 21:24 #5
rvm - det er bare super ! 1000 tak for hjælpen.

kan du fortælle mig, hvorfor jeg får at vide, at makro ikke er aktiveret i aktuelle projekt efter jeg har gemt filen med den nye makro ?
Avatar billede dennispc Nybegynder
20. december 2005 - 21:25 #6
rvm - Jeg tror alt jeg skal bruge lige nu - men håber du er klar til at hjælpe igen, hvis jeg støder på nye udfordringer.....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Tag et kursus i Word og øg effektiviteten

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester