Avatar billede hedemann Nybegynder
24. august 2006 - 09:21 Der er 10 kommentarer

Automatisk brevflet

Jeg vil gerne have hjælp til følgende opgave:

Jeg har en fil med navne, adresser mv. og de skal flettes med et word dokument. Det er en funktion der skal udføres flere gange i løbet af dagen. Så fletningen skal ske automatisk, evt. via planlagt opgaver.

Hvad gør jeg?
Avatar billede mugs Novice
24. august 2006 - 09:27 #1
Hvilken filtype drejer det sig om - Access, Excel eller???
Avatar billede hedemann Nybegynder
24. august 2006 - 09:33 #2
Tekstfil.
Avatar billede mugs Novice
24. august 2006 - 09:49 #3
Jeg mente: Hvilken filtype skal levere data til Word?
Avatar billede supertekst Ekspert
24. august 2006 - 10:19 #4
Hvad mener du med dette:
"Så fletningen skal ske automatisk, evt. via planlagt opgaver."?
Avatar billede hedemann Nybegynder
24. august 2006 - 10:19 #5
Der er tale om en hel almindelig tekstfil. Hvor linie indeholder feltnavne og efterfølgende linier indeholder de faktiske data. feltnavne og data kan være adskilt af ; eller #
Avatar billede supertekst Ekspert
24. august 2006 - 10:32 #6
Det ville være en fordel at få tekstfilen smidt over i f.eks. exel via en VBA-behandling - derefter kunne den normale brevfletningsprocedure i Word anvendes.
Kan du vises uddrag fra tekstfilen - idet du såvel nævner ; & #
Avatar billede hedemann Nybegynder
24. august 2006 - 10:53 #7
Filen kommer direkte fra et Unix system og kan som følge heraf ikke dannes i excel, access eller lig. uden menneskelig indblanding.

Formatet kunne se sådanne ud:
Navn#Adresse1#Adresse2#PostBy#Andet
Anders And#Et Sted på landet##2412 Andeby#Bla bla
Onkel Joakim #Pengetanken##2412 Andeby#Elsker at bade..
Avatar billede supertekst Ekspert
24. august 2006 - 11:47 #8
Filen kan indlæses i excel og data opsættes via VBA i excelfilen - således at standardbrevfletning kan udføres.
Avatar billede hedemann Nybegynder
24. august 2006 - 12:51 #9
Indlæsningen i excel skal så ske automatisk. Ideen var at der ikke skulle fortages manuelt arbejdet... jeg er så "næsten" ligeglad med hvordan det sættes op
Avatar billede supertekst Ekspert
24. august 2006 - 14:20 #10
Bud på første trin:
===================
Indsæt denne kode i en Excel-fil - VBA - ark 1
Indlæg Unix-tekstfilen i samme mappe - ændring af navnet til "unix.txt"
Kør koden - gem Excel filen.
Opbyg brevfletning i Word - anvend excelfilen som datakilde.

Dim xsti As String, række As Integer
Const uXtegn = "#"
Sub hentUnix()
    hentSti
    række = 1
    behandlingAfTextfil

    ActiveSheet.Columns.AutoFit
   
    MsgBox ("Regneark er klar")
End Sub
Private Sub behandlingAfTextfil()
Dim navn, adr1, adr2, postby, andet

    Open xsti + "unix.txt" For Input As #1
    While Not EOF(1)
      Line Input #1, linie
      adskilLinien linie, navn, adr1, adr2, postby, andet
      sætIregneArk navn, adr1, adr2, postby, andet
    Wend
    Close #1
End Sub
Private Sub sætIregneArk(navn, adr1, adr2, postby, andet)
    With ActiveWorkbook.Sheets(1)
        .Cells(række, 1) = navn
        .Cells(række, 2) = adr1
        .Cells(række, 3) = adr2
        .Cells(række, 4) = postby
        .Cells(række, 5) = andet
        række = række + 1
    End With
End Sub
Private Sub adskilLinien(linie, navn, adr1, adr2, postby, andet)
Dim p, lin, count, del
    lin = linie + uXtegn
    count = 0
    While InStr(lin, uXtegn) > 0
        p = InStr(lin, uXtegn)
        If p > 0 Then
            del = Left(lin, p - 1)
            Select Case count
                Case 0
                    navn = del
                Case 1
                    adr1 = del
                Case 2
                    adr2 = del
                Case 3
                    postby = del
                Case 4
                    andet = del
            End Select
            lin = Mid(lin, p + 1)
            count = count + 1
        Else
            Stop
        End If
    Wend
End Sub
Private Sub hentSti()
    xsti = ActiveWorkbook.Path
    If Right(xsti, 1) <> "\" Then
        xsti = xsti + "\"
    End If
End Sub
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