Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

Dette varierer nok fra objekt til objekt, men jeg vil tro du kun behøver å hente ut informasjonen fra objektet og dernest flytte det over i en fil således:

 

Dim Free As Long

 

' Hent ledig filoperasjonspeker

Free = FreeFile

 

' Åpne fil som tekst

Open "C:\Test.txt" For Output As #Free

   

    ' Skriv forskjellige linjer til filen

    Print #Free, "Testverdi: Hallo verden"

    Print #Free, "Tester ..."

    Print #Free, "Slutt."

 

' Lukk fil

Close #Free

Lenke til kommentar

ville tro at det skulle være en enklere måte å gjøre det på....objOle.save ... for eksempel...det var jo så enkelt å få det inn i basen, hvorfor ikke enkelt å få det ut?

 

edit: men, takk for svar :-)

 

Det jeg egentlit skal gjøre er fra access å åpne et word dokument basert på en mal jeg har lagret i databasen.

 

ideer?

 

O.

Endret av olona
Lenke til kommentar

Du kan vel lage et Word-objekt via CreateObject og flytte informasjonen fra malen over der? Da burde all informasjon befinne seg i et Word-dokument etter overføringen:

 

Dim Word As Object, Document As Object

 

' Initialiser Word-objektet

Set Word = CreateObject("Word.Application")

 

' Vis applikasjon

Word.Visible = True

 

' Lag et nytt dokument (her kan du evt. spesifisere en mal)

Set Document = Word.Documents.Add

 

' Sett dokumentets tekst

Document.Range().Text = "Hallo verden!"

 

' Lagre dokument

Document.SaveAs "C:\Test.doc"

 

' Lukk dokument og applikasjon

Document.Close

Word.Quit

 

' Rydd opp (svært vesentlig)

Set Document = Nothing

Set Word = Nothing

Lenke til kommentar

Igjen, takk forsvar. Den delen får jeg til.

 

Det er hva som skjer forut, å "hente" ole objectet til Word

 

Eksempel: "Fil" er mitt navn på OLE object.

 

Dim obj As Object

Set obj = Me.Fil.Object.Application.WordBasic

Me.Fil.Action = acOLEActivate

 

 

Da har jeg et word dokument aktivert. Når jeg da vil lagre dette, tenkte jeg at man kunne gjøre:

 

obj.activeDocument.SaveAs "c:\ny.doc"

 

Men da får jeg feilmelding: "The remote server machine does not exist or is unavailable"

 

Det jeg tenker jeg må gjøre er å åpne filen med en mal, som er basert på mitt ole object, og så lagre dette. Jeg klarer å få opp word dokumentet men endringene jeg gjør da vil påvirke ole objected.

 

O.

Endret av olona
Lenke til kommentar

Har funnet en løsning som fungerer sånn tålig:

 

    Dim obj As Object 'Just a reference.

    Dim Filnavn As String

 

    Filnavn = "c:\test.doc"

    ' Her åpner jeg word dokumentet og lagrer det som ny.doc

 

    Me.Fil.Locked = True

    Me.Fil.Verb = acOLEVerbOpen

    Me.Fil.Action = acOLEActivate        ' aktiverer

    Me.Fil.Verb = acOLEVerbHide        ' burde skjule word applikasjon.

 

    Me.Fil.Object.Application.ActiveDocument.SaveAs (Filnavn)  ' lagrer filen

    Me.Fil.Object.Application.ActiveDocument.Close                  ' lukker filen

   

    ' Åpner en word fil

    'Set obj = CreateObject("Word.application")

    Set obj = GetObject(, "Word.application")

    obj.Documents.Open (Filnavn)

    obj.Visible = True

 

Hvis noen kan se noen feil eller eller ting jeg ikke burde ha med, si ifra...

 

Slik den fungerer nå så åpner den malen jeg har i ole objektet, viser dette i et sekund eller to. lukker det, og så åpner word dokumentet slik at bruker kan redigere dette...

 

O.

Endret av olona
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...