[VB.NET] word(97) document maken?

Pagina: 1
Acties:

  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Beste tweakers,

Overal waar ik lees in gevonden artikelen (google, codeproject.com) lees ik niet wat ik zoek.
Athans het is niet duidelijk. Misschien kan iemand van jullie mij in wat makkelijkere woorden antwoord geven.

Ik wil met vb.net gegevens uit een MySql DB omzetten naar een word document met wat layout.
De layout zal niet verder gaan dan wat italic, bold, etc.

Wat zijn hiervoor de mogelijkheden binnen vb.net? (online)
Heb ik een "com" van word nodig?
Moet ik eerst een XML file maken en die omzetten naar RTF (zoals verteld word op MSDN)
Het leek me toch niet zo moeilijk om met vb.net code te schrijven die een test.doc aanmaakt met daarin "Hello world" maar dat valt dus tegen.

  • basz
  • Registratie: April 2000
  • Laatst online: 21-10-2025

basz

Professioneel prutser

Botte bijl oplossing: gewoon in word een template doc-file aanmaken waar je in de gewone tekst zelf verzonnen / gedefiniëerde variabelen neerzet op de plaats waar je de gegevens uit de db wilt hebben. bijv:
code:
1
#VOORNAAM#

Dan met .net deze template inlezen, een simpele replace uitvoeren en dan (vergezeld door wat headers) naar de client sturen. Puur theoretisch hoor, nooit getest... ;)

[ Voor 18% gewijzigd door basz op 23-02-2006 15:55 ]


  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
is misschien wel een handige oplossing.
Iemand anders nog ideeën?

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 08-04 21:55
Ik ben er niet helemaal in thuis, maar moet je niet eerst nog de Office Development Tools installeren zodat je in je source code gewoon instanties van een Word (of Excel) kan maken en allerlei zaken aan het document kan toevoegen?

  • MacWolf
  • Registratie: Januari 2004
  • Laatst online: 06-09-2024
Ben zelf sinds kort bezig met COM en het is inderdaad een goede manier om Word bestanden te maken. De code stelt niet zo heel veel voor.

1. Voeg als eerste het COM componentje voor Word toe (Interop.Word.DLL) aan je project als referentie. Code completion werkt ook al gelijk, dus je kan gelijk een beetje de class doorbladeren. De code om een nieuw Word document aan te maken is redelijk eenvoudig, uit mijn hoofd iets als
Visual Basic:
1
2
3
Dim wordApp as New Word.Application
Dim wordDoc as New Word.Document
wordDoc = wordApp.Documents.Add()


Vanaf dan kan je de ingebouwde macro functionaliteit van Word gebruiken om de rest van de code te ontwikkelen. Neem een macro op en nadat je op de 'STOP' knop hebt gedrukt kan je de code bewerken.

Bij het afsluiten van je applicatie moet je iets doen als
Visual Basic:
1
2
3
wordDoc.Close("C:/pad/naar/bestand")
wordApp.Quit()
wordApp = Nothing 'anders schijn je te maken te krijgen met een memory leak

Microsoft Windows: A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.


  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Ik had inmiddels een leuk artikel gevonden over het dynamisch maken van Word documenten, deze wilde ik nog even met jullie delen.
http://www.codeproject.com/vb/net/Wordyna.asp

Heb het inmiddels helemaal klaar en het werkt gewoon super.
Pagina: 1