Ga naar inhoud

[ASP/VBScript] Find & Replace in Word document


Aanbevolen berichten

Hallo allemaal, Ik heb een vraag over het creëeren van een Word-document op de server in ASP (VBScript). Ben op dit moment met een stage administratie systeem bezig, dat in ASP met MS SQL server wordt gemaakt, waarbij ook brieven gemaakt moeten kunnen worden. Daartoe moet er een word-document op de server gecreëerd worden. Dit lukt ook allemaal maar het een probleem met het volgende. Voor het maken van de brieven wordt een standaard vantevoren gemaakt word-document gebruikt. Middels "variabelen" in de tekst (bijv. %NAAM%) kunnen bepaalde gegevens uit de MS SQL database ingevoerd worden. Zelf had ik gedacht dit middels een Find & Replace te doen, maar om de een of andere reden wil dit niet werken. Tot nu toe heb ik de volgende code: [code:1:a90b62ea21] Set WordApp = Server.CreateObject("Word.Application") WordApp.Application.Visible = False Set WordDoc = WordApp.Documents.Add (Server.MapPath("./test.doc")) if (WordApp.Selection.Find.Execute("%NAAM%",False,False,False,False,False,False,wdFindContinue,False,"NAAMVANDEPERSOON",wdReplaceAll,False,False,False,False) = True) then response.write "Find and Replace succesful <BR>" else response.write "Find and Replace failed <BR>" end if WordApp.ActiveDocument.SaveAs Server.MapPath("./test1.doc") WordDoc.Close WordApp.Quit [/code:1:a90b62ea21] Het document "test.doc" is gevuld. Als daar %NAAM% in staat dan krijg ik op het scherm te zien: Find and Replace succesful Als dit juist niet in het document staat dan krijg ik te zien: Find and Replace failed Zou dus kennelijk moeten werken, echter het opgeslagen document test1.doc laat geen verschil zien. Dit betekent dat er nog altijd %NAAM% in staat en deze niet vervangen is door de gewenste tekst. Heb me bij de parameters van Find.Execute gehouden aan de parameters zoals die in de MSDN Library staan vermeld: http://msdn.microsoft.com...l/womthExecuteFindObj.asp Heeft iemand enig idee wat ik fout doe of wat ik eventueel vergeten ben??? Kom er zelf namelijk niet meer uit, heb al enkele dingen geprobeerd, echter zonder resultaat. Ik maak gebruik van: Win 2000 Advanced Server IIS 6.0 MS Word 2000 (van Office 2000) MS SQL Server 2000 Alvast bedankt en groet, Gerard
Link naar reactie
Ik heb dit ooit zelf opgelost door niet gebruik te maken van een Word document (Office installeren op server was niet mogelijk) maar van een RTF document wat in Word was aangemaakt. Zo'n RTF bestand kan je gewoon met het FSO openen en daarop simpele text-replaces doen. Het uiteindelijke resultaat is weer gewoon in Word te openen. Als je niet met RTF kan of wil werken dan kan ik maandag wel even een collega vragen die wat meer kaas gegeten heeft van deze materie (als je intussen het antwoord nog niet hebt gevonden).
Link naar reactie
Alvast hartelijke dank voor de reactie. Heb inderdaad al op een ander forum het idee voor RTF gekregen, echter probleem is dat de reeds bestaande documenten die gebruikt moeten gaan worden in het Word formaat zijn. Aangezien dit er aardig veel zijn lijkt het mij niet erg handig deze allemaal te converteren en is het misschien makkelijker om Word te gebruiken, i.p.v. RTF. Dus wat meer info over het replacen van tekst in Word zou welkom zijn, vooral info over waarom mijn constructie niet werkt. Mocht het toch niet mogelijk zijn, dan kan ik nog altijd RTF gebruiken. Groet, Gerard
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...