Toon posts:

[ASP/VBScript] Find & Replace in Word document *

Pagina: 1
Acties:

Verwijderd

Topicstarter
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
2
3
4
5
6
7
8
9
10
11
12
13
  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


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

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

MS Word is rampzalig in dit opzicht.. :X :X Kan je niet RTF gebruiken? Evenals dat het vragen om crashen is als je MS Word in een serveromgeving gaat gebruiken.

[ Voor 40% gewijzigd door gorgi_19 op 13-04-2004 16:18 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Hartelijke dank voor de reactie.

Vooralsnog werkt het met Word goed in de server omgeving. Nog geen crash gehad tot nu toe. Zelfs documenten van 3000 pagina's gegereren werkt goed. Alleen wordt het document dan erg groot qua bestandsomvang.

RTF zou wellicht een mogelijkheid kunnen zijn. Deze heb ik reeds geprobeerd evenals HTML, maar het probleem is dat alle documenten aangeleverd worden als Word-document. Dit zijn er echter zo veel dat converteren veel tijd zal gaan kosten, dus vandaar de keuze voor Word. Leek mij het minste tijd kosten en de minste problemen op te leveren. Echter tot nu toe blijkt dat niet zo te zijn.

Dus als iemand wellicht nog een suggestie of zo heeft, dan heel erg graag. Zodra de Find & Replace werkt heb ik alles wat ik moet hebben, dus ben ik ver genoeg.

Alvast bedankt en groet,
Gerard