????? ??????? ASP ?????? ????? Rich Text Format (RTF) ??? ??? ??? Microsoft Word

?????? ????????? ?????? ?????????
???? ???????: 270906 - ??? ???????? ???? ????? ????? ??? ???????.
????? ???? | ?? ????

??????

???? ??? ??????? ??? ????? ????? ????? 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 ??????:
??????? ????? (RTF) ?? ???? 1-6
http://msdn2.microsoft.com/en-us/library/aa140277(office.10).aspx

????? 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???????? ??????? ???????? ?? ???? ?????? ?? Office
193998????? ????? ???????? ???????? ?????? ?? ASP
266263BUG: Word 2000 ?Excel 2000 ???? ???? ASP ??? ??????? ??? MIME ??? ??? ????????
247318BUG: 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

????? ???????

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com