???? ??? ??????? ??? ????? ????? ????? Rich Text Format (RTF) ?? ???????? ????? ASP ??? ?? ??? ??? ??????? ??? Microsoft Word. ???? ??? ??????? ???? ??? ???? ?????? ??????? ?? Microsoft Word ????? ????? ??? ???????.
?????? ????? ??? ??????? ?? ???? ???? ???? ?? ????? ?????? ????? Northwind.mdb ???? ?? Microsoft Access 2000 ?? ?? Microsoft Access 2002 ?? ?? Microsoft Office Access 2003.
???? ???? ????? ??????? Word ?? ASP ??????? ?? ???? ??????:
- ???? Microsoft Word ?? ??????? ???? ??????? ??????; ???? ?????? ???? ????????? ???? ???????.
- ?????? "?????? ??????? ???? ???????" Microsoft Word ????? ????? ??? ????? ???? ??? ?? ??? ????? ??? Winword.exe ??? reap ????? ???? ?????? ???? ????? ?? Word.
?????? ????? ????????? ?? ??????? ? ???? ??????? ???? ?????? Word ? ???? ????? ????? ASP scaleable ???? ?? ????? ????? ????. ??? ??????? ??? ??????? ?? ????? ??????? ????? ???????
FileSystemObject ?????? ??? RTF ???? ?????? ?? Microsoft Word ?? ????? ????????.
???? ????? ????? ??? ????? ??????? ASP ?????? ????? RTF ???? ????? ??? ???? ??????? ?????????? ????? ??? ???? ?????? ??????? ???????? ?? ????? ?? ?? ???? ???????. ?????? ????? ????? ADO ?????? ??? ???????? ?? ????? ????? ?????? Northwind Access ?????? ????? 90-plus-??????.
???? ??????? ?????? ????? ????? ????? RTF ??????? ?? ??? ????????? ?? Word. ????? ??????? ?????? ??? ???? ??????? ??????????, ?????? ?????? ????? ?????? ???????? ? ????? ?????? ?????? ?????? ?????? ??? ???????. ?????? ??? ??????? ????? ADO ?????? ??? ???????? ?? ????? ???????? Northwind ?????? ????? 170-plus-??????.
?????? ??????? Rich Text Format (RTF) ??????? ???? ?????? ????? ???? ?????? ?? RTF. ????? ??????? ??????? ??????? ?? ???? ???? ????? Microsoft (MSDN) ?????? ??? ????? ????? ???????? ?? ????? ??????? RTF. ??? ???? ??? ????? ????????? "??- ??" ? ??? ??? supportted ????? ?????? ?? Microsoft. ?????? ??? ???? ????? ?? ??????? RTF ???? ???? MSDN ??????:
????? ASP 1
???? ASP ??????? ????? RTF 90-plus ???? ??????? ???? ????? ??? ????? ?????? ????????? ????????.
?????? ????? ?????
sConn ?? ????? ????????? ???????? ??? ?????? ??? ????? ???????? Northwind. ???? ?? ?? ?????? ??????? ???????? ????? Office. ??? ????? ??? ????? ??????
??????? ??? ?????? ???? ????? ??? ASP ???? ???? ????? ???????. ??? ??? ????? ?????? ??? ???? Windows NT ??? ?????? ???? ???? ????? ???
???? ?????? ???????.
<%@ Language=VBScript %>
<%
Dim sRTF, sFileName, sConn
sConn = "c:\program files\microsoft office\office\samples\northwind.mdb"
Response.Buffer = True
'Create the file for the RTF
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
sFileName = "sample1.doc"
Set MyFile = fso.CreateTextFile(Server.MapPath(".") & "\" & _
sFileName, True)
MyFile.WriteLine("{\rtf1")
'Write the color table (for use in background and foreground colors)
sRTF = "{\colortbl;\red0\green0\blue0;\red0\green0\blue255;" & _
"\red0\green255\blue255;\red0\green255\blue0;" & _
"\red255\green0\blue255;\red255\green0\blue0;" & _
"\red255\green255\blue0;\red255\green255\blue255;}"
MyFile.WriteLine(sRTF)
'Write the title and author for the document properties
MyFile.WriteLine("{\info{\title Sample RTF Document}" & _
"{\author Microsoft Developer Support}}")
'Write the page header and footer
MyFile.WriteLine("{\header\pard\qc{\fs50 " & _
"ASP-Generated RTF\par}{\fs18\chdate\par}\par\par}")
MyFile.WriteLine("{\footer\pard\qc\brdrt\brdrs\brdrw10\brsp100" & _
"\fs18 Page " & _
"{\field{\*\fldinst PAGE}{\fldrslt 1}} of " & _
"{\field{\*\fldinst NUMPAGES}{\fldrslt 1}} \par}")
'Write a sentence in the first paragraph of the document
MyFile.WriteLine("\par\fs24\cf2 This is a sample \b RTF \b0 " & _
"document created with ASP.\cf0")
'Connect to the database in read-only mode
Dim conn, rs
Set conn = Server.CreateObject("ADODB.Connection")
conn.Provider = "Microsoft.Jet.OLEDB.4.0"
conn.Mode = 1 'adModeRead=1
conn.Open sConn
'Execute a query that returns ID, Product name and amount of sale
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT [Order Details].OrderID AS ID, " & _
"Products.ProductName AS Name, " & _
"[Order Details].[UnitPrice]*[Quantity] AS Amount " & _
"FROM Products INNER JOIN [Order Details] ON " & _
"Products.ProductID = [Order Details].ProductID " & _
"ORDER BY [Order Details].OrderID", conn, 3 'adOpenStatic = 3
MyFile.WriteLine("{") 'Start table
MyFile.WriteLine("\par\par\fs24")
'Write the table header row (appears at top of table on each page)
sRTF = "\trowd\trhdr\trgaph30\trleft0\trrh262" & _
"\cellx2000\cellx7000\cellx9000" & _
"\pard\intbl\qc\b\i\ul Order ID \ul0\i0\b0\par\cell" & _
"\pard\intbl\ql\b\i\ul Product \ul0\i0\b0\par\cell" & _
"\pard\intbl\qr\ul\b\i Amount \ul0\i0\b0\par\cell" & _
"\pard\intbl\row"
MyFile.WriteLine(sRTF)
dim LastID
dim CurID
dim CurTotal
dim bFirstRow
bFirstRow=true
do while not (rs.eof)
if LastID<>rs("ID").Value and not(bFirstRow) Then
'Starting on a row for a different id, so add the last total and
'then a blank row
sRTF = "\trowd\trgaph30\trleft0\trrh262" & _
"\cellx2000\cellx7000\clbrdrb\brdrdb\cellx9000" & _
"\pard\intbl\cell\pard\intbl\cell\pard\intbl\qr\b " & _
FormatCurrency(CurTotal, 0, False, False, True) & _
"\b0\cell\pard\intbl\row" & _
"\trowd\trgaph30\trleft0\trrh262" & _
"\cellx2000\cellx7000\cellx9000" & _
"\pard\intbl\cell\pard\intbl\cell\pard\intbl\cell" & _
"\pard\intbl\row"
MyFile.WriteLine(sRTF)
CurID = rs("ID").Value
CurTotal = 0
elseif bFirstRow then
CurID = rs("ID").Value
else
CurID = ""
end if
'Add a new row with the ID, the Product name and the amount
'Note: Amounts over 1000 are formatted with red.
sRTF = "\trowd\trgaph30\trleft0\trrh262" & _
"\cellx2000\cellx7000\cellx9000" & _
"\pard\intbl\qc " & CurID & "\cell" & _
"\pard\intbl\ql " & rs("Name").Value & "\cell"
If rs("Amount").Value >1000 Then
sRTF = sRTF & "\pard\intbl\qr\cf6 " & _
FormatNumber(rs("Amount").Value, 0, False, False, True) & _
"\cf0\cell\pard\intbl\row"
else
sRTF = sRTF & "\pard\intbl\qr " & _
FormatNumber(rs("Amount").Value, 0, False, False, True) & _
"\cell\pard\intbl\row"
end if
MyFile.WriteLine(sRTF)
LastID = rs("ID").Value
CurTotal = CurTotal + rs("Amount").Value
rs.MoveNext
bFirstRow=false
loop
MyFile.WriteLine("}") 'End Table
'Add a page break and then a new paragraph
MyFile.WriteLine("\par \page")
MyFile.WriteLine("\pard\fs18\cf2\qc " & _
"This sample provided by Microsoft Developer Support.")
'Close the recordset and database
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
'close the RTF string and file
MyFile.WriteLine("}")
MyFile.Close
Response.Write _
"<META HTTP-EQUIV=""REFRESH"" Content=""0;URL=" & sFileName & """>"
%>
????? ASP 2
???? ASP ??????? ?????? ??? ????????? ?? Word ?? ????? ???????. ??? ????? ?? ???? ?? ??????? 170-plus ???? ?? ??? ?? ?????? ????? ADO.
?????? ????? ?????
sConn ?? ????? ????????? ???????? ??? ?????? ??? ????? ???????? Northwind. ???? ?? ?? ?????? ??????? ???????? ????? Office. ??? ????? ??? ????? ?? ??????
??????? ??? ?????? ???? ????? ??? ASP ??? ????? ???????. ??? ?? ???? ??? ?????? ??? ????? ?????? ??? NT ??????? ???? ???? ????? ???
???? ?????? ???????.
<%@ Language=VBScript %>
<%
Dim sRTF, sConn
sConn = "c:\program files\microsoft office\office\samples\northwind.mdb"
Response.Buffer = True
'Create the file for the RTF
Dim fso, MyFile, sFileName
Set fso = CreateObject("Scripting.FileSystemObject")
sFileName = "sample2.doc"
Set MyFile = fso.CreateTextFile(Server.MapPath(".") & "\" & _
sFileName, True)
MyFile.WriteLine("{\rtf1")
'Write the font table
sRTF = "{\fonttbl {\f0\froman\fcharset0 Times New Roman;}" & _
"{\f1\fswiss\fcharset0 Arial;}" & _
"{\f2\fmodern\fcharset0 Courier New;}}"
MyFile.WriteLine sRTF
'Write the title and author for the document properties
MyFile.WriteLine("{\info{\title Sample RTF Document}" & _
"{\author Microsoft Developer Support}}")
'Write the document header and footer
MyFile.WriteLine("{\header\pard\qc\brdrb\brdrs\brdrw10\brsp100" & _
"{\fs50 Northwind Traders} \par}")
MyFile.WriteLine("{\footer\pard\qc\brdrt\brdrs\brdrw10\brsp100" & _
"{\fs18 Questions?\par Call (111)-222-3333, " & _
" Monday-Friday between 8:00 am and 5:00 pm} \par}")
'Connect to the database in read-only mode
Dim conn, rs
Set conn = Server.CreateObject("ADODB.Connection")
conn.Provider = "Microsoft.Jet.OLEDB.4.0"
conn.Mode = 1 'adModeRead=1
conn.Open sConn
'Execute a query that returns ID, Product name and amount of sale
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT Orders.ShippedDate, Orders.ShipVia, " & _
"Orders.OrderDate, Orders.OrderID, " & _
"Customers.ContactName FROM Customers INNER JOIN Orders ON " & _
"Customers.CustomerID = " & _
"Orders.CustomerID WHERE (((Orders.ShippedDate) Between " & _
"#1/1/1998# And #3/31/98#))",conn,3 'adOpenStatic = 3
Do While Not (rs.eof)
'Write the "body" of the form letter
MyFile.WriteLine "\fs26\f1" 'Default font
MyFile.WriteLine "\pard"
MyFile.WriteLine "\par\par\par\par"
MyFile.WriteLine "\par RE: Order #" & rs.Fields("OrderID").Value
MyFile.WriteLine "\par"
MyFile.WriteLine "\par"
MyFile.WriteLine "\par " & rs.Fields("ContactName").Value & ", "
MyFile.WriteLine "\par"
MyFile.WriteLine "\par Thank you for your order on " & _
rs.Fields("ShippedDate").Value & _
". Your order has been shipped: "
MyFile.WriteLine "\par"
MyFile.WriteLine "\par"
MyFile.WriteLine "\pard \li720 {\f2"
MyFile.WriteLine "\par \b Order Number \b0 \tab " & _
rs.Fields("OrderID").Value
MyFile.WriteLine "\par \b Shipped By \b0 \tab " & _
rs.Fields("ShipVia").Value
MyFile.WriteLine "\par \b Shipped On \b0 \tab " & _
rs.Fields("ShippedDate").Value
MyFile.WriteLine "\par}"
MyFile.WriteLine "\pard"
MyFile.WriteLine "\par"
MyFile.WriteLine "\par Northwind Traders is committed to " & _
"bringing you products of the " & _
"highest quality from all over the world. If " & _
"at any time you are not completely satisfied " & _
"with any of our products, you may " & _
"return them to us for a full refund."
MyFile.WriteLine "\par"
MyFile.WriteLine "\pard {\fs18 \qc \i"
MyFile.WriteLine "\par Thank you for choosing Northwind Traders!"
MyFile.WriteLine "\par}"
rs.MoveNext
'Add a page break and then a new paragraph
If Not(rs.eof) Then MyFile.WriteLine("\pard \page")
Loop
'Close the recordset and database
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
'close the RTF string and file
MyFile.WriteLine("}")
MyFile.Close
Response.Write _
"<META HTTP-EQUIV=""REFRESH"" Content=""0;URL=" & sFileName & """>"
%>
????? ?? ?????????? ???? ??? ????? ???????? ??????? ?????? ?? "????? ??????? ?? Microsoft:
257757
(http://support.microsoft.com/kb/257757/
)
???????? ??????? ???????? ?? ???? ?????? ?? Office
193998
(http://support.microsoft.com/kb/193998/
)
????? ????? ???????? ???????? ?????? ?? ASP
266263
(http://support.microsoft.com/kb/266263/
)
BUG: Word 2000 ?Excel 2000 ???? ???? ASP ??? ??????? ??? MIME ??? ??? ????????
247318
(http://support.microsoft.com/kb/247318/
)
BUG: Word 2000 ? Excel 2000 ?? ??? ?????? ????? ???? ???? ??? ??????? Response.Redirect
???? ???????: 270906 - ????? ??? ??????: 02/???? ??????/1428 - ??????: 8.1
????? ???
- Microsoft Office Word 2007
- Microsoft Office Word 2003
- Microsoft Word 2000 Standard Edition
- Microsoft Word 97 Standard Edition
- Microsoft Active Server Pages 4.0
| kbmt kbexpertiseinter kbautomation kbfso kbhowto kbprogramming KB270906 KbMtar |
????? ???????: ??? ????? ??? ?????? ???????? ?????? ????? ???? ????? ?????????? ????? ?? ????????? ?????? ????. ???? ???? ?????????? ???? ?? ???????? ???????? ?????? ????????? ????? ????????? ???????? ????? ???????? ?????? ?? ?????? ??? ?? ???????? ???????? ?? ????? ??????? ?????? ??? ??????? ?????? ??. ?????? ?? ???? ??? ??????? ???????? ????? ?? ???? ????? ?????? ??? ????? ??? ????? ??????? ?? ????? ?? ?????? ??? ??? ??????? ??????? ?? ????? ????? ????? ????? ?????. ?? ????? ???? ?????????? ??????? ??? ????? ?? ??????? ?? ????? ?????? ?? ??? ????? ?? ????? ??????? ?? ???????? ?? ??? ???????. ???? ???? ?????????? ???????? ??? ????? ?????? ??????? ??????
???? ??? ????? ??????? ?????? ??????????
270906
(http://support.microsoft.com/kb/270906/en-us/
)