Посоветуйте как сделать подстановку значений в документы Word ?
Вот рабочий код на VB который подставляет нужные значения в указанные HTML файлы, а мне надо то же самое, но в файлы Ворда ( причем чтобы менялись значения как в тексте, так и в колонтитулах)
Что надо для этого сюда дописать ?
--------------------------------------------------
<%@Language = VBScript %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<%
If (Request.Form("Act") = "send") Then
Dim FSO
Dim FWT
Dim FOUT
Dim OutFileNumber
Dim OutFileFullName
Dim OutText
Dim IdentParamText
Dim aParametersNames(2)
Dim aParametersValues(2)'сюда будет записано то что ввел ползователь в форме число в скобках должно быть равно количеству элементов в aParametersNames
Dim aFilesWithText(2) 'массив исходных файлов
Dim aOutFilesNames(2) 'массив имен выходных файлов
Dim aOutFilesExt(2) 'массив имен расширений файлов (количества во всех 3-х должны совпадать и опрделены далее)
Dim CurrentLine
Dim ErrNum
ErrNum = 0
OutText = ""
aParametersNames(1) = "Param1" 'должны совпадать с теми что в форме
aParametersNames(2) = "Param2"
aFilesWithText(1) = "TextFile1.txt"
aFilesWithText(2) = "TextFile2.txt"
aOutFilesNames(1) = "OutFileOne"
aOutFilesExt(1) = "txt"
aOutFilesNames(2) = "OutFileTwo"
aOutFilesExt(2) = "txt"
IdentParamText = "###" 'текст служащий для того что б сделать запись о параметре в тексте исходного документа уникальной
Set FSO = CreateObject("Scripting.FileSystemObject")
For j = 1 To UBound(aFilesWithText)
OutFileNumber = 0
If FSO.FileExists(Server.MapPath(aFilesWithText(j))) Then
For i = 1 To UBound(aParametersNames)
aParametersValues(i) = Request.Form(aParametersNames(i))
If aParametersValues(i) = null OR aParametersValues(i) = "undefined" Then
aParametersValues(i) = "" 'если что - то кривое пришло то делаем его пустым хотя это неправильно надо заставлять пользователя вводить все значения
End If
Next
SET FWT = FSO.OpenTextFile(Server.MapPath(aFilesWithText(j)) , 1, False)
Do While FWT.AtEndOfStream <> True
CurrentLine = FWT.ReadLine
For i = 1 To UBound(aParametersNames)
CurrentLine = Replace(CurrentLine,IdentParamText & aParametersNames(i) & IdentParamText,aParametersValues(i))
Next
OutText = OutText & CurrentLine & vbCrLf
Loop
FWT.Close
FWT = NULL
OutFileFullName = aOutFilesNames(j) & "." & aOutFilesExt(j)
Do while FSO.FileExists(Server.MapPath(OutFileFullName))
OutFileNumber = OutFileNumber + 1
OutFileFullName = aOutFilesNames(j) & Cstr(OutFileNumber) & "." & aOutFilesExt(j)
Loop
On Error Resume Next
SET FOUT = FSO.CreateTextFile(Server.MapPath(OutFileFullName),true)
If Err.Number <> 0 Then
Response.Write "<br><br><div align=""center"">Error write to out file.</div><br>" & Err.Description
ErrNum = 1
End If
On Error goto 0
If ErrNum = 0 Then
On Error Resume Next
FOUT.Write OutText
If Err.Number <> 0 Then
Response.Write "<br><br><div align=""center"">Error write to out file.</div><br>" & Err.Description
ErrNum = 2
End If
On Error goto 0
End If
If ErrNum = 0 Then
FOUT.Close
End If
FOUT = NULL
Else
Response.Write("<br><br><div align=""center"">Error! Text file not found.</div>")
End If
Next
FSO = NULL
End If
%>
<html>
<head>
<title>Form</title>
</head>
<body>
<form action="main.asp" method="post">
<input type="Hidden" name="Act" value="send">
Параметр 1:<input type="Text" name="Param1"><br>
Параметр 2:<input type="Text" name="Param2"><br>
<input type="Submit" value="Отправить">
</form>
</body>
</html>
-----------------------------------------