22. august 2001 - 15:12Der er
7 kommentarer og 1 løsning
Generere Word-dok. med indhold.
Jeg skal fra min VB6 applikation kunne generere et word-dokument.
Jeg skal ved tryk på en knap i min applikation kunne generere word-dokumentet.
Derefter skal jeg kunne indsætte op til 10 forskellige tekstafsnit i dokumentet. For hvert tekst skal jeg kunne definerer font, skriftstørrelse og skrifttype
Efter indsættelse af første tekstafsnit, skal jeg så kunne foretage et par linieskift og så indsætte næste tekstafsnit.
Den tekst som skal indsættes har jeg liggende i ganske almindelige string-variabler.
Til slut skal jeg så kunne åbne det genererede worddokument.
Er der nogle der har nogle forslag til hvordan jeg kan gøre det? Gerne eksempler på selve koden.
sæt reference til Word application i project->references \'Opret word object Dim wrd as Word.Application Set wrd = New Word.Application
wrd.add \' brug en skabelon eller et dokument
derefter har du adgang til hele dokumentet optag evt en macro i word over det flow du vil have og importer det til dit project. husk at sætte wrd = nothing når du har lukket pænt efter dig ellers får du problemer med hukommelsen.
Hermed komplet kode du kan paste ind på en button click event:
\'Code start Dim wrd As Word.Application Dim doc As Word.Document
Set wrd = New Word.Application
wrd.Documents.Add
wrd.Visible = True \' indsæt macro code her
wrd.ActiveDocument.Select
Selection.TypeText Text:=\"dettge er en tekst linie formateret fed\" Selection.Font.Bold = wdToggle Selection.TypeParagraph \' enter Selection.TypeParagraph \' enter
wrd.Visible = False Set wrd = Nothing \' Code slut
Du skal være opmærksom på hvilken session af word du har fat i hvis der feks. er en word åben i forvejen vil den have fokus. Sæt derfor fokus på den word du har åbnet. Det gør den kode jeg har lavet ikke.
.... og jeg bliver ved med ikke at svare ordentligt:-)
Optage en macro i word? - start word vælg tools->record macro->start skriv formater og klik som dit workflow skal være. stop på stop knappen tryk ALT + F11 under NewMacros vil din nyoptagede macro befinde sig og du kan redigere lidt i koden for overflødig kode og derefter copypaste det til dit projekt.
jeg har selv fundet en mulig løsning andetsteds her på eksperten. Men måske kan du hjælpe mig med at finpudse den. Det var et ganske udmærket svar du kom med, men jeg fandt noget andet, som jeg syntes var lidt nemere at gå til.
koden kommer nedenfor. Jeg har så på forhånd oprettet en skabelon i word med 5 bogmærker, og koden nedenfor kan så sætte tekst ind i dokumentet.
Men ved du hvordan jeg har mulighed for selv at definerer skrifttype, skriftstørrelse, skrifttypografi og evt understregning af den tekst jeg sætter ind.
Jeg har tænkt mig at lade brugeren vælge fonten gennem en commendialog fra min VB6 applikation, og jeg gemmer så disse fontoplysninger i tekststrenge.
Private Sub Brevflet() Dim objWord As New Word.Application Dim WordDoc As New Word.Document Set WordDoc = objWord.Documents.Add(\"C:\\windows\\skrivebord\\bogmærkedoc.doc\") Call InsertAtBookmark(WordDoc, \"bogmærke1\", \"dette er modtageradressen\")
Call InsertAtBookmark(WordDoc, \"bogmærke2\", \"Dette er datoen\") objWord.Visible = True \'DoCmd.Hourglass False End Sub
Public Function InsertAtBookmark(objWordDoc As Word.Document, _ strBookmark As String, strText As String) As Boolean With objWordDoc.Bookmarks If .Exists(strBookmark) Then .Item(strBookmark).Range.Text = strText InsertAtBookmark = True End If End With End Function
\'start Code .Item(\"Kasper\").Range.Select Selection.EndKey Unit:=wdLine, Extend:=wdExtend \' herefter kan du manipulere med skrifttypen som du vil der er mange flere properties på font objectet som du kan bruge, se selv efter.
With Selection.Font .Name = \"Verdana\" .Size = 12 .Bold = False .Underline = wdUnderlineSingle End With
Du styrer for vildt. Lige det jeg manglede. Mange tak for hjælpen.
Hvis jeg får brug for flere tilpasninger i fremtiden kan det være jeg laver et nyt indlæg med henvisning til mit nye spørgsmål.
200 velfortjente point til dig.
Synes godt om
Ny brugerNybegynder
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.