Avatar billede marya Nybegynder
30. april 2002 - 08:12 Der er 7 kommentarer

Åpne worddokument fra Access i Office XP

Jeg har brukt denne koden for å åpne Word-dokument fra et Access-program:
Function FindBMark()
  Dim WordObj As Word.Application
  Dim WordDoc As Word.Document
  Dim WordRange As Word.Range
  Set WordObj = CreateObject("Word.Application")
  Set WordDoc = WordObj.Documents.Open _
      ("C:\My Documents\Wordtest.doc")
  WordObj.Visible = True

  ' Go to the bookmark named "City."
  Set WordRange = WordDoc.Goto(What:=wdGoToBookmark, Name:="City")
  WordRange.InsertAfter "Los Angeles"

  ' Uncomment the next line of code to print the document.
  ' WordDoc.PrintOut Background:=False

  ' Uncomment the next line of code to save the modified document.
  ' WordDoc.Save

  ' Uncomment the line of code to quit Microsoft Word without

  ' saving changes to the document.
  ' WordObj.Quit SaveChanges:=wdDoNotSaveChanges

  Set WordObj = Nothing
End Function

Dette fungerer i Office 2000 etter at jeg installerte en "converter", men jeg får det ikke til å fungere når vi kjører Office XP.
Kan noen hjelpe meg?
30. april 2002 - 08:16 #1
Har du checket om alle referencer virker? (fra VBA åbner du menuen: Tools->References)
Hvis der står "Missing..." eller "Mangler..." i nogle af de afkrydsede elementer, så er det der fejlen er.

Ellers må du lige forklare hvad der går galt! Hvor fejler den?
Avatar billede terry Ekspert
30. april 2002 - 08:54 #2
I have NO problems with this code. Youobviously need to UNCOMMENT the line which saves the document.

WordDoc.Save

and it would also be an idea to do a quit

WordObj.Quit
Avatar billede marya Nybegynder
30. april 2002 - 09:00 #3
Alle references virker.
Prosedyren stopper på :

Set WordDoc = WordObj.Documents.Open _
      ("C:My DocumentsWordtest.doc")
Avatar billede terry Ekspert
30. april 2002 - 09:12 #4
Set WordDoc = WordObj.Documents.Open _
      ("C:\My DocumentsWordtest.doc")
Avatar billede terry Ekspert
30. april 2002 - 09:13 #5
does the user have permissions to this folder?
Avatar billede marya Nybegynder
30. april 2002 - 10:02 #6
Koden i spørsmålet mitt er konkretisert i mitt program slik:

Public Function pFindBMark(vDokID As Integer)
    Dim WordObj As Word.Application
    Dim WordDoc As Word.Document
    Dim WordRange As Word.Range
    Dim vDokSti As String, vTabell As String
   
    Dim cnn As ADODB.Connection, rst As New ADODB.Recordset, vSQL As String
   
   
    Set cnn = CurrentProject.Connection
 
   
    vSQL = "Select Sti from DokumentJournaltabell where ID = " _
        & FS(vDokID)
    rst.Open vSQL, cnn
   
   
    If Not rst.BOF Then
        rst.MoveFirst
        vDokSti = Nz(rst!Sti)
    End If
  If vDokSti <> "" Then
        Set WordObj = CreateObject("Word.Application")
       
        Set WordDoc = WordObj.Documents.Open _
          (vDokSti)
        WordObj.Visible = True
   
        Set WordRange = WordDoc.Goto
    Else
        MsgBox "Har ingen sti til dette dokumentet."
    End If
       

  Set WordObj = Nothing
End Function

Functionen skal åpne et dokument hvor navnet på dokumentet ligger i en tabell og har en ID. Funksjonen kalles slik for å åpne dokumentet som har ID = 123:

pFindBMark (123)

Problemet er at dette virker i Office 2000, men ikke i Office XP
Avatar billede terry Ekspert
30. april 2002 - 12:12 #7
marya you dont need to have two questions open to the same problem.

I have tried your code and as far as I can see it works. What problem are you having?
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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