Desværre er jeg ikke særlig stærk i kodning, så jeg kan ikke gennemskue terry\'s forslag. Jeg har istedet oprettet en makro hvor jeg har valgt \"RunApp\" som action. I den tilhørende kommandolinie har jeg indtastet; \"winword.exe c:\\docnavn.doc\" og det virker. For at overføre data fra db til doc, skal der nok oprettes et \"merge\"-dokument. Hvordan man så kobler disse to sammen ved jeg desværre ikke, men jeg lytter.
Placer bogmærker på de steder i dokumentet, hvor du vil indsætte dine variable. Brug så: myword.ActiveDocument.Bookmarks(B).Select myword.Selection.TypeText Text:=S hvor B er navnet på et bogmærke og S er variablen.
Nedennævnte koder indsætter Access-data det sted i Word, hvor du har sat et bogmærke. Bemærk at bogmærkets navn skal være magen til feltnavnet i Access:
Private Sub Kommandoknap21_Click() Dim objword As New Word.Application Dim WordDoc As New Word.Document Dim Svar As String \'Stien til dokumentet Set WordDoc = objword.Documents.Add(\"C:\\Programmer\\Microsoft Office\\Skabeloner\\Opskrift.doc\") Call InsertAtBookmark(WordDoc, \"Bogmærke\", Me!Feltnavn) Call InsertAtBookmark(WordDoc, \"Bogmærke\", Me!Feltnavn) \'osv osv objword.Visible = True DoCmd.Hourglass False End Sub
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
Flg. kode henter et bestemt Word-dokument:
Private Sub Kommandoknap24_Click() On Error GoTo err_open Dim docname As String Dim objword As Word.Application Dim objdoc As Word.Document \'Stien til dokumentet Const dir As String = \"C:\\opskrifter\\\" Const ext As String = \".doc\" \'Me.Nr refererer til et felt i formularen docname = dir & Me.Nr & ext On Error Resume Next Set objword = GetObject(, \"Word.Application\") Err.Clear On Error GoTo err_open If objword Is Nothing Then Set objword = GetObject(\"\", \"Word.Application\") End If objword.Visible = True AppActivate \"Microsoft Word\" objword.Documents.Open docname Exit Sub err_open: MsgBox \"fejlkode: \" & Err.Number End Sub
Mystisk. Det virker fint her. Her får du en helt enkel opskrift - free of charge ;o) Sub FletTest() Dim MyWord As Object Set MyWord = CreateObject(\"Word.Application\")
MyWord.Documents.Open FileName:=\"C:\\Temp\\Test.doc\" MyWord.ActiveDocument.Bookmarks(\"BM\").Select MyWord.Selection.TypeText Text:=\"Denne tekst indsættes\" End Sub
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.