/ Forside / Teknologi / Administrative / MS-Office / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
dokumentoversigt
Fra : bsn


Dato : 21-02-04 17:09

Hej NG
Jeg skal lave en dokumentoversigt.
Jeg vil gemme en sti tilhørende currentrecord i databasen til hvert
dokument.
Jeg vil gerne have navngivet dokumentet med nogle felter fra databasen.
Det må kunne automatiseres.
Tænkte på at starte Word inde fra databasen, og når jeg gemte dokumentet,
skulle den tage nogle felter fra databasen, og generere filnavnet på
dokumentet, og gemme det hos den aktuelle post.(Office 2000)
Kan i lede mig lidt på sporet...
Hilsen
Bjarne



 
 
Mads (25-02-2004)
Kommentar
Fra : Mads


Dato : 25-02-04 11:17


"bsn" <bsn_NoSpam_@oncable.dk> wrote in message
news:403782a5$0$247$edfadb0f@dread12.news.tele.dk...
> Hej NG
> Jeg skal lave en dokumentoversigt.
> Jeg vil gemme en sti tilhørende currentrecord i databasen til hvert
> dokument.
> Jeg vil gerne have navngivet dokumentet med nogle felter fra databasen.
> Det må kunne automatiseres.
> Tænkte på at starte Word inde fra databasen, og når jeg gemte dokumentet,
> skulle den tage nogle felter fra databasen, og generere filnavnet på
> dokumentet, og gemme det hos den aktuelle post.(Office 2000)

Jeg kan ikke helt følge dig i hvad du vil.
Først siger du at du vil lave en dokumentoversigt, hvilket antyder at du har
en række dokumenter.
Så siger du at du vil navngive dine dokumenter efter nogle felter i en
database. Men dokumentet har allerede et navn, hvad skal der ske med det? Og
hvis du allerede har en liste over dine dokumenter i en database, er det så
ikke det der er din dokumentoversigt? Så er det vel ligegyldigt hvad
filen/dokumentet hedder?

> Kan i lede mig lidt på sporet...

Jeg gætter på at du ønsker at kunne arbejde med word dokumenter fra Access.
I Access (VBA) lav en reference til Word's object model.

For at kunne arbejde med word kan du lave noget lignende dette

Dim objWord as Word.Application

Set objWord = GetObject(, "Word.Application") ' hvis du har en started word
ellers
Set objWord = CreateObject("Word.Application")

objWord ar nu din word som du kan gøre med som du lyster.
F.eks åbne et dokument
objWord.Documnets.Open "C:\minfil.doc"

Gemme som
objWord.Documents("c:\minfil.doc").Saveas "C:\minfil2.doc"

Lukke
objWord.Documents(C:\minfil.doc").Close


Mvh Mads



bsn (26-02-2004)
Kommentar
Fra : bsn


Dato : 26-02-04 10:09


"Mads" <mads.knudsen@privatnospam.dk> skrev
>
> Jeg kan ikke helt følge dig i hvad du vil.
Jeg vil gemme en doc fil med et filnavn som er genereret på baggrund af
felter i min formular, og samtidig skal der gemmes en reference til
dokumentet i et felt i min formular. (nok et hyperlink)

> Først siger du at du vil lave en dokumentoversigt, hvilket antyder at du
har
> en række dokumenter.
> Så siger du at du vil navngive dine dokumenter efter nogle felter i en
> database.
Nej, det er meningen at jeg starter word fra databasen, og når jeg gemmer
mit dokument, skulle det gerne ende med at det får et filnavn - automatisk -
genereret ud fra en variabel, som indeholder noget tekst fra forskellige
felter i min formular. eks. filnavn: felt1felt2.doc.

> Men dokumentet har allerede et navn, hvad skal der ske med det? Og
> hvis du allerede har en liste over dine dokumenter i en database, er det

> ikke det der er din dokumentoversigt? Så er det vel ligegyldigt hvad
> filen/dokumentet hedder?
Nej, det er nyoprettede dokumenter - startet fra access - og skal gemmes med
filnavn som ovenstående eks. med et link til dokumentet gemt i access.

> Jeg gætter på at du ønsker at kunne arbejde med word dokumenter fra
Access.
> I Access (VBA) lav en reference til Word's object model.
>
> For at kunne arbejde med word kan du lave noget lignende dette
>
> Dim objWord as Word.Application
>
> Set objWord = GetObject(, "Word.Application") ' hvis du har en started
word
> ellers
> Set objWord = CreateObject("Word.Application")
>
> objWord ar nu din word som du kan gøre med som du lyster.
> F.eks åbne et dokument
> objWord.Documnets.Open "C:\minfil.doc"
>
> Gemme som
> objWord.Documents("c:\minfil.doc").Saveas "C:\minfil2.doc"
>
> Lukke
> objWord.Documents(C:\minfil.doc").Close

Tænker jeg kan bruge dette, men svar lige på ovenstående.
Tak for det...
Bjarne.



Mads (26-02-2004)
Kommentar
Fra : Mads


Dato : 26-02-04 10:59


"bsn" <bsn_NoSpam_@oncable.dk> wrote in message
news:403db7ac$0$279$edfadb0f@dread12.news.tele.dk...

> Tænker jeg kan bruge dette, men svar lige på ovenstående.
> Tak for det...

Ok, jeg blev en del klogere.

Jeg har ikke lavet noget VBA i Access meget længe så hvordan du får
indholdet fra felter, kan jeg ikke hjælpe med (lige nu).
Selve word delen må blive ca sådan

Dim objWord as Word.Application
Set objWord = GetObject(, "Word.Application")
if objWord Is Nothing then Set objWord = CreateObject("Word.Application")
objWord.Documents.Add
' Hvis du skal have tekst i dokumentet kan du f.eks bruge
' objWord.Selection.TypeText "Tekst i dokument"
' FilNavn = <Sti> & <felt1> & <felt2> & ".doc"
objWord.ActiveDocument.SaveAs FilNavn
objWord.ActiveDocument.Close

Access delen med at få info fra felter og indsætte noget i et felt, er jeg
meget rusten og kan ikke give kvalificeret hjælp.

Mvh Mads








bsn (26-02-2004)
Kommentar
Fra : bsn


Dato : 26-02-04 15:59


"Mads" <mads.knudsen@privatnospam.dk> skrev
> Ok, jeg blev en del klogere.
))
> Jeg har ikke lavet noget VBA i Access meget længe så hvordan du får
> indholdet fra felter, kan jeg ikke hjælpe med (lige nu).
> Selve word delen må blive ca sådan

Min kode:
Private Sub Kommandoknap6_Click()
Dim objWord As Word.Application
Set objWord = GetObject(, "Word.Application")
If objWord Is Nothing Then Set objWord = CreateObject("Word.Application")
objWord.Documents.Add
' Hvis du skal have tekst i dokumentet kan du f.eks bruge
' objWord.Selection.TypeText "Tekst i dokument"
DokNavn = Me.Felt1
Filnavn = "C:\Database\Dokumenter\" & DokNavn & ".doc"
objWord.ActiveDocument.SaveAs Filnavn
objWord.ActiveDocument.Close
End Sub

Jeg prøvede koden, og den lavede ét dokument, og lagde det hvor det skulle
være. Det virkede desværre kun 1 gang.
Efterfølgende...
Den giver en runtime fejl 429
"Activex Component cant create object."
Jeg har registreret Word 11 Object Library i Tools_Preferences VBA-editoren.

> Access delen med at få info fra felter og indsætte noget i et felt, er jeg
> meget rusten og kan ikke give kvalificeret hjælp.
Det kan jeg selv...
Håber du kan forklare fejlen...
Hilsen
Bjarne



bsn (26-02-2004)
Kommentar
Fra : bsn


Dato : 26-02-04 17:33


"bsn" <bsn_NoSpam_@oncable.dk> skrev
> Min kode:
> Private Sub Kommandoknap6_Click()
> Dim objWord As Word.Application
Set objWord = CreateObject("Word.Application")>
If objWord Is Nothing
Then
Set objWord = GetObject(, "Word.Application")
End if
> objWord.Documents.Add
> ' Hvis du skal have tekst i dokumentet kan du f.eks bruge
> ' objWord.Selection.TypeText "Tekst i dokument"
> DokNavn = Me.Felt1
> Filnavn = "C:\Database\Dokumenter\" & DokNavn & ".doc"
> objWord.ActiveDocument.SaveAs Filnavn
> objWord.ActiveDocument.Close
> End Sub
Der var vist et par fejl i koden Mads
createobject før getobject, og så manglede der vel også et end if.
Det svinger nu indtil videre...
Tak for det...
Bjarne



Mads (27-02-2004)
Kommentar
Fra : Mads


Dato : 27-02-04 08:07


"bsn" <bsn_NoSpam_@oncable.dk> wrote in message
news:403e1fa9$0$273$edfadb0f@dread12.news.tele.dk...
>
> Der var vist et par fejl i koden Mads
Jeg giver ingen garantier for utestet kode

> Det svinger nu indtil videre...
Jamen, så kan jeg vel ikke forlange mere.

> Tak for det...

Velbekommen.

Mvh Mads



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste