Jeg har et VB-program der skal skanne noget tekst fra worddokumenter. Jeg søger derfor en metode til at åbne et worddokument i VB og konvertere det til noget tekst. Er der nogle der har en løsning. Word er på computeren. Kan man evt. kalde et eller andet objekt for at konvertere?
Kopieret fra et af mine svar på et andet spørgsmål, der omhandler Excel og ikke word:
-------------0--------------
Du skal bruge en OLE-komponent på din form sammen med metoden CreateLink. Metoden CreateLink anvendes til at skabe et link til objektet. Syntaksen er således:
Object.CreateLink sourcedoc [, sourceitem]
Hvor · sourcedoc er navnet på den fil der ønskes skabt et link til · sourceitem er et element i sourcedoc
F.eks. kan der skabes et link til celleområdet R1C1:R8C2 (række 1-8, kolonne 1-2) i Excel-regnearket Budget.xls i samme bibliotek som VB-projektet, således:
For at metoden CreateLink kan anvendes, skal OLE-kontrollens egenskab OLETy-peAllowed forinden sættes til Linked eller both. Anvend f.eks. systemkonstanten vbOLELinked.
At der er skabt et link til Excel-regnearket Budget.xls betyder, at hvis der dobbelt-klikkes på det i OLE-kontrollen, vil Excel starte op, og der kan arbejdes med regne-arket.
Voilà!
-------------0--------------
Omskriv en smule og få det til at spille med word, det må være noget i retning af OLE1.CreateLink App.Path & "\Dokument.doc",
Hov - du kan jo ikke få dokumentet ind som REN tekst i VB - for det er jo netop IKKE ren tekst, men et word dokument. Hvis du vil arbejde i ren tekst må du gemme dokumentet som .txt fra word.
Min løsning skaber et link til dokumentet, så du kan pille i det inde fra VB - men det er stadig formateret tekst
"pille i det" - hvad betyder det. Er der ikke en mulighed for at man kan "pille" teksten ud af worddokumentet, lukke word og bruge teksten videre i VB-programmet?
Jo - du kan i princippet gøre lige hvad du ønsker. Enten at arbejde med Word's interne søgemekaniske. Eller kopiere indeholdet af dit worddokument og behandle det, som ren tekst, rtf eller hvad du måtte ønske. Herunder et eksempel på hvordan du hurtigt kan bruge Word's egne søgefaciliteter.
I dit VB-projekt skal du sætte en reference til Microsoft Word 10.0 Object Library. (Du har muligvis en anden version af Word end jeg, og du vælger blot den du kan finde på listen.) Med denne reference kan du via dit VB-program gøre alt hvad du kan i Word.
Dim objWD As New Word.Application Dim objWDdocument As Word.Document Set objWDdocument = objWD.Documents.Open("din word fil") objWD.Visible = False objWD.ScreenUpdating = False objWD.Selection.Find.ClearFormatting With objWD.Selection.Find .Text = "dit søge ord" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With If objWD.Selection.Find.Execute Then MsgBox "fundet" Else MsgBox "ikke fundet" End If
objWDdocument.Close objWD.Quit
Set objWDdocument = Nothing Set objWD = Nothing
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.