anoniem Geplaatst: 16 april 2004 Delen Geplaatst: 16 april 2004 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 Quote Link naar reactie
anoniem Geplaatst: 17 april 2004 Auteur Delen Geplaatst: 17 april 2004 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). Quote Link naar reactie
anoniem Geplaatst: 17 april 2004 Auteur Delen Geplaatst: 17 april 2004 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 Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen