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?
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.
Gebruik
Dim WordApp as Object
Set WordApp = CreateObject("Word.Appliction")
en gooi de reference weg.
Dim WordApp as Object
Set WordApp = CreateObject("Word.Appliction")
en gooi de reference weg.
Dat werkt natuurlijk niet, al zou het wel makkelijk zijn._js_ schreef op 16 August 2003 @ 18:40:
Gebruik
Dim WordApp as Object
Set WordApp = CreateObject("Word.Appliction")
en gooi de reference weg.
Uhm bedoel je dit niet andersom?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 )
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...
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?
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?
Ik denk dat ie _js_ z'n code direct gekopieerd heeft en niet de typfout in ("Word.Appliction") heeft gespot
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.”
Nee hoor, zo stom ben ik niet.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
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
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
Volgens mij werkt dit ook in .NET._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
Je moet alleen de SET weghalen
Je hebt natuurlijk geen intellisense in je IDEIk kan geen documenten openen en zeker geen mailmerge uitvoeren.
Daarvoor heb je een referentie nodig.
De mailmerge zou je gewoon moeten kunnen uitvoeren zonder referentie.
Pagina: 1