[asp / word.application] variabelen invullen

Pagina: 1
Acties:

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Hoi,
ik ben bezig met het maken van een intranetapplicatie waarmee word documenten aangemaakt kunnen worden.

Mijn eerste insteek was om op de (web)server Word op te laten starten en een aantal variabelen in te laten vullen, toen ik uit ging zoeken hoe dat allemaal moest werken kwam ik er achter dat microsoft niet aanraad om dit uit te voeren (stabiliteit enzo).

Daarom ben ik nu overgestapt op .rtf, werkt op zich heel mooi, en het invullen van variabelen is een eitje met het filesytemobject. Probleem hierbij is dat .rtf bestanden vrij groot worden naarmate er meer data (lees: plaatjes) in komen te staan.

Nu wil ik toch weer terug naar de methode waarbij op de webserver een document word aangemaakt wat ik vervolgens clientside oproep met vbscript. Het aanmaken van een document op de webserver is geen probleem, het (clientside) openen van dat document lukt ook wel.

Mijn probleem zit hem in het vullen van de mergefields van het Word document, ik weet dat ik gewoon het hele sjabloon in asp kan gaan schrijven (met alle waarden op de juiste plaats), maar ik geef liever mijn variabelen aan word en laat die ze op de juiste plaats invullen (in het sjabloon).

Tot nu toe heb ik onderstaand verhaal geschreven (de variabelen strtemplatepad en strdocpad heb ik eerder gedeclareerd en gevuld)
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
dim objWord, objWordDoc
    Set objWord = Server.CreateObject("Word.Application")
    
    objWord.Visible             = False
    objWord.DisplayAlerts       = False
    objWord.ScreenUpdating      = False
    
    Set objWordDoc = objWord.Documents.Add()
    objWordDoc.AttachedTemplate     = Server.MapPath(strtemplatepad & "brief.dot")

'ik neem aan dat ik de velden op moet roepen en vullen, maar ik weet niet hoe...'

objWordDoc.Content.InsertAfter "blaat blaat"



         
objWordDoc.SaveAs Server.MapPath(strdocpad & "/" & "testje.doc")

objWordDoc.Close
objWord.Quit

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 00:26

mulder

ik spuug op het trottoir

Kijk eens naar bookmarks

oogjes open, snaveltjes dicht


  • Lister
  • Registratie: September 2001
  • Laatst online: 15-02-2022
Als je grote lappen tekst in het document moet zetten zou ik daarvoor inderdaad bookmarks gebruiken.
Als je kleine stukjes tekst erin moet zetten zou ik Custom Document Properties gebruiken
Deze moet je in Word via File->Properties en dan het tabblad Custom aanmaken en dan via de Word Fields in je document tonen.