Ich habe ein Word-Dokument mit Tabellen, die wie ein Formular aussehen. Ich habe Platzhalter wie %firstName%, %lastName%, %birthdate%
... etc. Wenn ich die replace() -Funktion verwende, werden die %firstName%, %lastName%, %birthdate%
und alle anderen Platzhalterfelder auf der ersten und zweiten Seite ersetzt. Nach der Sekunde ersetzt nichts. Alle Namen der Platzhalter auf der 3. und 4. Seite sind identisch mit der 1. und 2. Seite. Ich habe sogar die Namen der Platzhalter kopiert und eingefügt und sichergestellt, dass keine Abstände hinzugefügt werden. Neugierig zu wissen, ob jemand anderes dies schon einmal erlebt hat und mir sagen kann, was getan wurde, um das Problem zu beheben.Coldfusion Replace() funktioniert nicht auf allen Seiten für MS-Word Dokument
<cfset docPath = GetDirectoryFromPath(GetCurrentTemplatePath()) & "UserTemplate.rtf" />
<cflock name="UserTemp" type="exclusive" timeout="30">
<cfset rtf = FileRead(docPath) />
<cfquery name = "qUserFormData">
SELECT * FROM vUserFormData WHERE UserID = 3
</cfquery>
<cfset rtf = Replace(rtf,"%firstName%",#firstName#)/>
<cfset rtf = Replace(rtf,"%lastName%",#lastName#) />
<cfset rtf = Replace(rtf,"%birthday%",#birthday#) />
</cflock>
<cfheader name="content-disposition" value="filename=UserTemplate.doc" />
<cfcontent type="application/msword"><cfoutput>#rtf#</cfoutput>
Nichts mit Ihrer Frage zu tun, aber es gibt keine Notwendigkeit für cflock. – Leigh