[.NET/References] References naar meerdere Word-versies

Pagina: 1
Acties:

  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 13:53
Ik maak in VB.Net een applicatie die een mailmerge uitvoert naar Word. In mijn reference lijst heb ik daarom de reference object word library 9.0 toegevoegd. Echter, deze reference is bedoeld voor Word2000 en ik wil mijn applicatie kunnen draaien met zowel Word97, Word2000 en Word2002. Is dit technisch mogelijk en zo ja, hoe zou ik dit moeten aanpakken?

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 21-08 18:33
Als je de nieuwste neemt zou je daar ook de oude versies mee moeten kunnen benaderen. Je moet dan echter wel opletten dat je geen functies gebruikt die Word97 niet kent. ( Door bijvoorbeeld de docs van Word 97 te pakken, dan zit je altijd goed )

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 13-01 07:19
Gebruik
Dim WordApp as Object
Set WordApp = CreateObject("Word.Appliction")
en gooi de reference weg.

  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 13:53
_js_ schreef op 16 August 2003 @ 18:40:
Gebruik
Dim WordApp as Object
Set WordApp = CreateObject("Word.Appliction")
en gooi de reference weg.
Dat werkt natuurlijk niet, al zou het wel makkelijk zijn. ;)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

farlane schreef op 15 August 2003 @ 08:17:
Als je de nieuwste neemt zou je daar ook de oude versies mee moeten kunnen benaderen. Je moet dan echter wel opletten dat je geen functies gebruikt die Word97 niet kent. ( Door bijvoorbeeld de docs van Word 97 te pakken, dan zit je altijd goed )
Uhm bedoel je dit niet andersom? :?

Door om een Word97 object te vragen vereis je de functionaliteit als aanwezig vanaf Word97. Dit is het hele idee achter interfaces toch, dat future implementations backwards compatible interfaces blijven ondersteunen? * curry684 confused... :P

Professionele website nodig?


  • Lister
  • Registratie: September 2001
  • Laatst online: 15-02-2022
Curry heeft gelijk.
Als je de applicatie met een reference naar Word97 compileert zou het met alle Word versies vanaf 97 moeten werken, tenzij je nog hele excentrieke Word code gebruik zoals Wordbasic of zo.

En hoezo zou dat van _js_ niet werken, heb je dat al geprobeerd dan?

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Ik denk dat ie _js_ z'n code direct gekopieerd heeft en niet de typfout in ("Word.Appliction") heeft gespot :z

Professionele website nodig?


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Zelfs al zou je zo wel een object aan kunnen maken heb je er nog weinig aan. Je moet om het te kunnen gebruiken in .net wel een wrapper class hebben en die krijg je door een reference aan je project toe te voegen ( Oke het is niet perse nodig maar het is wel zo makkelijk ;) ).

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 13:53
curry684 schreef op 16 August 2003 @ 23:43:
Ik denk dat ie _js_ z'n code direct gekopieerd heeft en niet de typfout in ("Word.Appliction") heeft gespot :z
Nee hoor, zo stom ben ik niet. :) Het is inderdaaf mogelijk om met deze code Word te openen, maar meer ook niet. Ik kan geen documenten openen en zeker geen mailmerge uitvoeren. Daarvoor heb ik toch een reference nodig, vrees ik.

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 13-01 07:19
Waarom kun je geen documenten openen?

Ik heb even getest in VBA want ik heb geen .net hier, maar erg veel verschil zal er niet zijn.

Dim WordApp As Object
Dim WordDoc As Variant
Set WordApp = CreateObject("Word.Application")
Dim WordDoc As Variant
Set WordDoc = WordApp.Documents.Open("C:\Mijn documenten\ascii.doc", , , False)
MsgBox WordDoc.Content
WordDoc.Close (False)
WordApp.Quit

Verwijderd

_js_ schreef op 17 augustus 2003 @ 13:08:
Waarom kun je geen documenten openen?

Ik heb even getest in VBA want ik heb geen .net hier, maar erg veel verschil zal er niet zijn.

Dim WordApp As Object
Dim WordDoc As Variant
Set WordApp = CreateObject("Word.Application")
Dim WordDoc As Variant
Set WordDoc = WordApp.Documents.Open("C:\Mijn documenten\ascii.doc", , , False)
MsgBox WordDoc.Content
WordDoc.Close (False)
WordApp.Quit
Volgens mij werkt dit ook in .NET.
Je moet alleen de SET weghalen
Ik kan geen documenten openen en zeker geen mailmerge uitvoeren.
Je hebt natuurlijk geen intellisense in je IDE
Daarvoor heb je een referentie nodig.
De mailmerge zou je gewoon moeten kunnen uitvoeren zonder referentie.
Pagina: 1