????? ??????? ASP.NET ?? Visual Basic .NET ????? XML ??? "?? ????" ?? Microsoft Word 2002

?????? ????????? ?????? ?????????
???? ???????: 311461 - ??? ???????? ???? ????? ????? ??? ???????.
????? ???? | ?? ????

?? ??? ??????

??????

??? ??????? ??? ???? ???? ????? ?????? "?? ????" (RTF) ?? ???????? ??? ??????? ??????? (XML) ???????? Visual Basic .NET.

?? ???? ?? ????? ????? ??? ?? ???? ?????? ?? ???? ????? ??????? ?????????. ??? ????????? ???? ???? ?? Microsoft Word. ??? RTF ????? ??? ????, ???? ???? ?????? ????? ?? ???. ??? ??? ???? ?????? XML ???? ???? ????? ?? Word ?????? ???????/????? ?? ????? ??? ????????? ??? ?? ????? ?????? XML ??? ??? RTF ?? ???? ?? ????? ??. ?? ?? ??????? ??? ??? ???? ?????? ?? ??? ????? ????? ??????? ??? ???? ??? ? ?? ????? ??? ????????? ???????? ????? ????? ??? ?? ??? HTML ?? RTF ? ????? ??? ??????? ??????? ?? ???? ?????? ?? Word.

???? ??? ??????? ??? ????? ????????? ???????? ? ????? ??? ??????? ???? ????? ????? XML ??? RTF ????? ?? Word ???????? ?????? ?????:
  • ??? ?? RTF ??? ??? ????? ?? Word.
  • ??? ??? RTF ??? Word ???????? Windows ???????.
  • ??? RTF ??? Word ??? ????????? ?? Microsoft Internet Explorer ?? ????? ??? ASP.NET.

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

??????? Rich Text Format (RTF) ??????? ???? ?????? ????? ???? ?????? ?? RTF. ????? ??????? ??????? ??????? ?? ???? ???? ????? Microsoft (MSDN) ?????? ??? ????? ????? ???????? ?? ????? ??????? RTF. ??? ???? ??? ????? ????????? "??- ??" ? ?? ??? ????? ?? ??? ?????? ????? ?????? ?? Microsoft ?????? ??? ?????????. ???? ??? ?????????? ??????? ?????? ??? ??????? RTF:
Rich Text Format Specification, version 1.6

Rich Text Format Specification, version 1.7

????? XML ??? RTF

????? ?????? ??? XML ???? ?? ?? ???? ?? ????? ??? RTF. ???? ??????? ?????? ??? ????? ????? XML ?????? ??? RTF ??? ??? ??? ?? ??? ??? ???????.
  1. ????? Visual Basic .NET ???? ????? Windows. ??? ????? Form1.
  2. ????? ????? ???? ?? ??? Form1.
  3. ?? ??????? ???? ???? ??? ?????.
  4. ????? ??????? ?? ????? ?????? ?? ???? ????????? ???????? ??? ????? ??? Form1:
    Imports System.Xml
    Imports System.Xml.Xsl
    Imports System.IO
  5. ?? ?????? ????????? ???????? ??????? ??? ????? ??? Form1 (??? ????? ???):
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Button1.Text = "To File"
            Button2.Text = "To Clipboard"
    
        End Sub
    
        Private Sub ButtonsClick(ByVal sender As System.Object, ByVal e As System.EventArgs) _
            Handles Button1.Click, Button2.Click
    
            Dim sPath As String = Directory.GetParent(Directory.GetCurrentDirectory()).ToString
    
            ' Open the XML file.
            Dim xmlDoc As New XmlDocument()
            xmlDoc.Load(sPath & "\Dictionary.xml")
    
            ' Open the XSL file.
            Dim xslDoc As New XslTransform()
            xslDoc.Load(sPath & "\Dictionary.xslt")
    
            Select Case sender.name
                Case "Button1"
                    ' Transform the XSL and save it to file.
                    Dim TWrtr As New XmlTextWriter(sPath & "\Dictionary.RTF", System.Text.Encoding.Default)
                    xslDoc.Transform(xmlDoc, Nothing, TWrtr, Nothing) 
                    TWrtr.Close()
                    MsgBox("Transformed RTF saved to " & sPath & "\Dictionary.RTF")
                Case "Button2"
                    ' Transform the XSL and copy it to the clipboard.
                    Dim SWrtr As New StringWriter()
                    xslDoc.Transform(xmlDoc, Nothing, SWrtr, Nothing)
                    Dim datObj As New DataObject(DataFormats.Rtf, SWrtr)
                    Clipboard.SetDataObject(datObj)
                    SWrtr.Close()
                    MsgBox("Transformed RTF copied to the clipboard.")
            End Select
    
        End Sub
  6. ????? ??? XML ??? ???????:
    1. ?? ??????? ??????? ???? ??? ????? ???? ????.
    2. ?? ????? ????? ???? ??? ??? XML.
    3. ???? ??? Dictionary.xml ?? ???? ??? ???.
    4. ????? ??????? ??????? Dictionary.xml:
      <Dictionary>
        <Entries>
          <Entry>
            <Word Type="1">Energetic</Word>
            <Definition>Having, exerting, or displaying energy</Definition>
          </Entry>
          <Entry>
            <Word Type="1">Happy</Word>
            <Definition>Enjoying, displaying, or characterized by pleasure or joy</Definition>
          </Entry>
          <Entry>
            <Word Type="2">Emotion</Word>
            <Definition>A complex, strong subjective response</Definition>
          </Entry>
        </Entries>
      </Dictionary> 
  7. ????? ??? XSLT ??? ???????:
    1. ?? ??????? ??????? ???? ??? ????? ???? ????.
    2. ?? ????? ????? ???? ??? ??? XSLT.
    3. ???? ??? Dictionary.xslt ?? ???? ??? ???.
    4. ??????? ??????? Dictionary.xslt ???????:
       
      <?xml version="1.0" encoding="UTF-8" ?>
      <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      
      	<xsl:output method="text"/>
      	<xsl:template match="/">
      
      	<xsl:text>{\rtf1</xsl:text>
      
      	<xsl:for-each select="Dictionary/Entries/Entry">
      
      		<xsl:text>\par\b </xsl:text>
      		<xsl:value-of select="Word"/>
      		<xsl:text>\b0\i  </xsl:text> 
      		<xsl:if test="Word[@Type='1']">adj.</xsl:if>
      		<xsl:if test="Word[@Type='2']">n.</xsl:if>
      		<xsl:text>\i0\par </xsl:text>
      		<xsl:value-of select="Definition"/>
      		<xsl:text>\par</xsl:text>
      	</xsl:for-each>
      
      	<xsl:text>}</xsl:text>
      
      	</xsl:template>
      	
      </xsl:stylesheet>  
  8. ???? F5 ?????? ???????? ???????.
  9. ???? ??? ??? ??? ???? XML ????? ??? ??? (Dictionary.rtf). ????? ??? ??? RTF ?? Word ??? ????? ??????? ???.
  10. ???? ??? ??? ??????? ??? XML ????? ??? ????? Windows. ?? ????? ??? ??????? ??????? ?? ????? Word ???? ?? ????? ??????? ???????.

????? DataSet ??? RTF

???? ?? Visual Basic .NET ?????? ??????? ??? datasets ??????. ???? ??? ??????? ????? ????? ?????? ??? ???????? ???????? ?? ????? ?????? Northwind ????? ?? ????? ??? RTF. ??? ?? ????? ??????? ?????? ?????: ????? RTF ????? ?? ????? ??????? ??????? ???????? ????? RTF ??? ?? ?? ???? ??????? ????? ??? ??????? ??????? ?? ????? ??? ??? ?????????.
  1. ??? ????? Visual Basic ???? ????? ??? ASP.NET ????? http://localhost/RTFDemo.

    ??? ????? WebForm1.
  2. ????? ????? ???? ?? ??? WebForm1.
  3. ?? ??????? ???? ???? ??? ?????.
  4. ?? ?????? ????????? ???????? ??????? ??? ?????? Page_Load:
            Button1.Text = "View Contact Information"
            Button2.Text = "View Customer Orders"
  5. ????? ???? ??????? ??? ????? WebForm1.

    ??????: ????? ???????? ???????? ??????? ???? SQL Server ?????? ??? ?????? ??????. ??? ??? ?? ??????? ??????? ??????? ??? ????? "???? ????????" ??? ????? ??????? ????? ????.
        Private Sub ButtonsClick(ByVal sender As System.Object, ByVal e As System.EventArgs) _
                Handles Button1.Click, Button2.Click
    
            ' Connect to the data source.
            Dim nwindConn As SqlConnection = New SqlConnection( _
                "Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI")
            nwindConn.Open()
    
            ' Build a dataset based on whether you requested to view a list of 
            ' orders or a list of contacts.
            Dim ds As DataSet
            Dim sXSL As String
            Select Case (sender.id)
    
                Case "Button1"
    
                    ds = New DataSet("Contacts")
                    Dim ContactsDA As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM Customers", nwindConn)
                    ContactsDA.Fill(ds, "Customers")
                    ' XSLT to use for transforming this dataset.
                    sXSL = "Contacts.xslt"  
    
                Case "Button2"
    
                    ds = New DataSet("CustomerOrders")
    
                    Dim custDA As SqlDataAdapter = New SqlDataAdapter("SELECT CustomerID, CompanyName, " & _
                        "Address, City, Region, PostalCode, Country FROM Customers", nwindConn)
                    custDA.Fill(ds, "Customers")
    
                    Dim ordersDA As SqlDataAdapter = New SqlDataAdapter("SELECT OrderID, CustomerID, Freight " & _
                        "FROM Orders", nwindConn)
                    ordersDA.Fill(ds, "Orders")
    
                    Dim ordersdetailDA As SqlDataAdapter = New SqlDataAdapter( _
                        "SELECT [Order Details].OrderID, Products.ProductName, [Order Details].Quantity, " & _
                        "[Order Details].[UnitPrice]*[Quantity]*(1-[Discount]) AS ItemTotal " & _
                        "FROM Products INNER JOIN [Order Details] ON Products.ProductID = [Order Details].ProductID " _
                        , nwindConn)
    
                    ordersdetailDA.Fill(ds, "OrderDetails")
    
                    nwindConn.Close()
    
                    ds.Relations.Add("CustOrders", _
                    ds.Tables("Customers").Columns("CustomerID"), _
                    ds.Tables("Orders").Columns("CustomerID")).Nested = True
    
                    ds.Relations.Add("OrdersToOrdersDetail", _
                    ds.Tables("Orders").Columns("OrderID"), _
                    ds.Tables("OrderDetails").Columns("OrderID")).Nested = True
    
                    ' XSLT to use for transforming this dataset.
                    sXSL = "CustOrders.xslt" 
    
            End Select
    
            ' Close the connection to the data source.
            nwindConn.Close()
    
            ' Transform the dataset by using the appropriate stylesheet.
            Dim xmlDoc As XmlDataDocument = New XmlDataDocument(ds)
            Dim xslTran As XslTransform = New XslTransform()
            xslTran.Load(Server.MapPath(sXSL))
    
            ' Stream the results of the transformation to Word.
            Response.ContentType = "application/msword"
            Response.Charset = ""
            Response.ContentEncoding = System.Text.Encoding.Default
            xslTran.Transform(xmlDoc, Nothing, Response.Output)
    
        End Sub
  6. ????? ???? ????????? ???????? ??????? ?? ???? WebForm1.aspx.vb ? ??? ????? ??? WebForm1:
    Imports System.Data.SqlClient
    Imports System.Xml
    Imports System.Xml.Xsl
  7. ?? ??????? ??????? ???? ??? ????? ???? ????. ?? ????? ????? ???? ??? ??? XSLT ??? ????? Contacts.xslt ? ?? ???? ??? ???.
  8. ??????? ??????? Contacts.xslt ???????:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    	xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="urn:my-scripts" >   
    
    <xsl:output method="text"/>
    
    <xsl:template match="/">
    
    	<xsl:text>{\rtf1</xsl:text>
    	
        <xsl:text>{\fonttbl{\f0\froman\fcharset0\fprq2 Times New Roman;}{\f1\fswiss\fcharset0\fprq2 Arial;}}</xsl:text>
        
    	<xsl:text>{\header\pard\fs50 My Customer Contacts}</xsl:text>
    	
    	<xsl:text>{\footer\pard\fs18 Page {\field{\*\fldinst PAGE}</xsl:text>
    	<xsl:text>{\fldrslt }} of {\field{\*\fldinst NUMPAGES}{\fldrslt 1}} \par}</xsl:text>
    	
    	<xsl:text>\f1\fs20</xsl:text>
    	
        <xsl:for-each select="Contacts/Customers">
    		<xsl:text>\par\b </xsl:text><xsl:value-of select="CustomerID"/><xsl:text>\b0</xsl:text>
    		<xsl:text>\par </xsl:text><xsl:value-of select="CompanyName"/>
    		<xsl:text>\par </xsl:text><xsl:value-of select="ContactName"/>
    		<xsl:text>\par </xsl:text><xsl:value-of select="Phone"/>
    		<xsl:text>\par</xsl:text>
        </xsl:for-each>
    	      
    	<xsl:text>}</xsl:text>
    
    </xsl:template>
    
    <xsl:template match="Customers">
    
        <xsl:text>\par\b </xsl:text><xsl:value-of select="CustomerID"/><xsl:text>\b0</xsl:text>
        <xsl:text>\par </xsl:text><xsl:value-of select="CompanyName"/>
        <xsl:text>\par </xsl:text><xsl:value-of select="ContactName"/>
        <xsl:text>\par </xsl:text><xsl:value-of select="Phone"/>
        <xsl:text>\par</xsl:text>
    
    </xsl:template>
    
    </xsl:stylesheet> 
  9. ?? ??????? ??????? ???? ??? ????? ???? ????. ?? ????? ????? ???? ??? ??? XSLT ??? ????? CustOrders.xslt ? ?? ???? ??? ???.
  10. ??????? ??????? CustOrders.xslt ???????:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    	xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="urn:my-scripts" >   
    
    <xsl:output method="text"/>
    
    <msxsl:script language="VB" implements-prefix="user">
        Dim CustomerTotal as Double = 0
        Dim OrderSubtotal as Double = 0
        
        Function AddToOrderSubtotal(amt)
            amt.MoveNext
            OrderSubtotal = OrderSubtotal + System.Convert.ToDouble(amt.Current.Value)
        End Function
        
        Function GetOrderSubtotal
    		GetOrderSubtotal = OrderSubtotal
        End Function
        
        Function GetCustomerTotal
    		GetCustomerTotal = CustomerTotal
    		CustomerTotal = 0
    	End Function
    	
        Function GetOrderTotal(freight)
           freight.MoveNext
           nFreight = System.Convert.ToDouble(freight.Current.Value)
           GetOrderTotal = nFreight + OrderSubtotal
           CustomerTotal = nFreight + OrderSubtotal + CustomerTotal
           OrderSubtotal = 0  
        End Function
            
    </msxsl:script>
    
    <xsl:template match="CustomerOrders">
    
    	<xsl:text>{\rtf1</xsl:text>
    	
    	<xsl:text>{\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;\red221\green221\blue221;}</xsl:text>
    	
    	<xsl:text>{\info{\title Sample RTF Document}{\author Microsoft Developer Support}}</xsl:text>
    	
    	<xsl:text>{\header\pard\qc{\fs50 ASP-Generated RTF\par}{\fs18\chdate\par}\par\par}</xsl:text>
    	
    	<xsl:text>{\footer\pard\qc\brdrt\brdrs\brdrw10\brsp100\fs18 Page {\field{\*\fldinst PAGE}</xsl:text>
    	<xsl:text>{\fldrslt }} of {\field{\*\fldinst NUMPAGES}{\fldrslt 1}} \par}</xsl:text>
    	
    	<xsl:apply-templates select="Customers"/>
    	      
    	<xsl:text>}</xsl:text>
    
    </xsl:template>
    
    <xsl:template match="Customers">
    
        <xsl:text>\par\pard\fs20\cf2\qr\b </xsl:text><xsl:value-of select="CustomerID"/><xsl:text>\cf0\b0</xsl:text>
        <xsl:text>\par\pard </xsl:text><xsl:value-of select="CompanyName"/>
        <xsl:text>\par </xsl:text><xsl:value-of select="Address"/>
        <xsl:text>\par </xsl:text><xsl:value-of select="City"/>
        <xsl:text>, </xsl:text><xsl:value-of select="Region"/>
        <xsl:text> </xsl:text><xsl:value-of select="PostalCode"/>
        <xsl:text>\par </xsl:text><xsl:value-of select="Country"/>
        <xsl:text>\par\par</xsl:text>
    
    	<xsl:apply-templates select="Orders"/>
    
    	<xsl:text>\trowd\cellx7000\cellx9000\pard\intbl\ql\b\cbpat1 </xsl:text>
    	<xsl:text>Order Total for the Current Period:\cell </xsl:text>
    	<xsl:text>\qr</xsl:text>
    	<xsl:variable name="CustTtl" select="user:GetCustomerTotal()"/>
    	<xsl:value-of select="format-number($CustTtl,'$###0.00')"/>
    	<xsl:text>\cell</xsl:text>
    	<xsl:text>\pard\intbl\row</xsl:text>
    		
    	<xsl:text>\pard\par\pard</xsl:text>
    	<xsl:text>\pard\plain\fs18\cf6\qc</xsl:text>
    	<xsl:choose>
    		<xsl:when test="$CustTtl = 0">
             <xsl:text>\b We've missed hearing from you!\b0 </xsl:text>
             <xsl:text> At your convenience, please call your personal sales representative </xsl:text>
             <xsl:text>so that we may discuss our specials for new and returning customers!</xsl:text>
          </xsl:when>
          <xsl:when test="$CustTtl > 2000">
             <xsl:text>\b Congratulations!\b0  Your purchases for this period qualify you for a \b 20%\b0 </xsl:text>
             <xsl:text> discount on one of your next orders. To take advantage of this offer, provide </xsl:text>
             <xsl:text>the coupon code ABC123XYZ when placing your order.</xsl:text>
          </xsl:when>
          <xsl:otherwise>
             <xsl:text> We value your patronage with Northwind Traders and would love to hear from you. </xsl:text>
             <xsl:text>If you have any questions about our upcoming line of products or if you want </xsl:text>
             <xsl:text>a catalog for the coming season, call 1-888-000-000.</xsl:text>
          </xsl:otherwise>
        </xsl:choose>
    	<xsl:text>\par\pard</xsl:text>
    	<xsl:text>\par \page</xsl:text>
    
    </xsl:template>
    
    <xsl:template match="Orders">
    
    	<xsl:text>\trowd\cellx9000\pard\intbl\cbpat9</xsl:text>
    	<xsl:text>\ql\b </xsl:text><xsl:value-of select="OrderID"/><xsl:text>\b0\cell </xsl:text>
    	<xsl:text>\pard\intbl\row</xsl:text>
    	
    	<xsl:apply-templates select="OrderDetails"/>
    
    	<xsl:text>\trowd\cellx7000\cellx9000\pard\intbl</xsl:text>
    	<xsl:text>\qr Subtotal:\cell </xsl:text>
    	<xsl:value-of select="format-number(user:GetOrderSubtotal(),'$###0.00')"/><xsl:text>\cell</xsl:text>	
    	<xsl:text>\pard\intbl\row</xsl:text>
    		
    	<xsl:text>\trowd\cellx7000\cellx9000\pard\intbl</xsl:text>
    	<xsl:text>\qr Freight:\cell </xsl:text>
    	<xsl:value-of select="format-number(Freight,'$###0.00')"/><xsl:text>\cell</xsl:text>	
    	<xsl:text>\pard\intbl\row</xsl:text>
    
    	<xsl:text>\trowd\cellx7000\cellx9000\pard\intbl</xsl:text>
    	<xsl:text>\qr Total:\cell </xsl:text>
    	<xsl:value-of select="format-number(user:GetOrderTotal(Freight), '$###0.00')"/><xsl:text>\cell</xsl:text>	
    	<xsl:text>\pard\intbl\row</xsl:text>
    		
    	<xsl:text>\trowd\cellx9000\pard\intbl \cell\pard\intbl\row</xsl:text>
    	
    </xsl:template>
    
    <xsl:template match="OrderDetails">
    
    	<xsl:text>\trowd\cellx5000\cellx7000\cellx9000\pard\intbl\ql </xsl:text>
    	<xsl:value-of select="ProductName"/><xsl:text>\cell </xsl:text>
    	<xsl:text>\qc </xsl:text><xsl:value-of select="Quantity"/><xsl:text>\cell </xsl:text>
    	<xsl:text>\qr </xsl:text>
    	<xsl:value-of select="format-number(ItemTotal,'$###0.00')"/><xsl:text>\cell</xsl:text>
    	<xsl:variable name="RunTotal" select="user:AddToOrderSubtotal(ItemTotal)"/>
    	<xsl:text>\pard\intbl\row</xsl:text>
    
    </xsl:template>
    
    </xsl:stylesheet>
  11. ?? ??????? ????? ? ???? ??? ????? ????.
  12. ??? ????? Internet Explorer ?? ?????? ??? http://localhost/RTFDemo/Webform1.aspx.
  13. ???? ??? ??? ??????? ??? ??????? ???? ????? ????? XML ??? RTF ?? Word.
  14. ???? ??? ?????? ?? Internet Explorer.
  15. ???? ??? ??? ?????? ??????? ???? ?????? ????? XML ??? RTF ?? Word.

??????? ????? ??????? RTF

  • ??? ?? ????? ? ????? ???????? ???????? ?? Transform a DataSet Into RTF ?????? ? ?????? RTF ?????? ??? ????????. ????? ?? ???? ????? ??? ?? RTF ??? ??? ?? ????? ????? ??? ????? ???????. ?????? ????? ?? ???????? ??? ???? ????????? ???????? ?? ?????
    Response.ContentType = "application/msword"
    Response.ContentEncoding = System.Text.Encoding.Default
    Response.Charset = ""
    xslTran.Transform(xmlDoc, Nothing, Response.Output)
    ??:
    Dim writer As XmlTextWriter = New XmlTextWriter( _
            Server.MapPath("Results.doc"), System.Text.Encoding.Default)
    xslTran.Transform(xmlDoc, Nothing, writer)
    writer.Close()
    Response.Redirect("Results.doc")
    ????? RTF ??? ??? ???? ??????? ??????? ??? ???? RTF ?? ????? ?????? ???????? ?? ?? ???? ??? ???????. ????? RTF ??? ??? ???? ?? ???? ????? ??????? ??????? ???????? ????? ??? XSL ?? ???? ??????? ??????? ???? ???????.
  • ??? ????? ??? RTF ? ??? ?? ???? ??? ??? ??? ????? ????? ?????? ????? ? ???? ?? ???? ??????? ?????? ?? ??? ???? ???? ??? ??? ???? Word ????? ?? RTF. ??????? ??? ????? ???????? ???????? ?? ??? ??????? ?? <xsl:text> ?????? ??? ???? ??? ??? ??????? ??????? ??????? ?? ?? ??? ???????? ???.
  • ??????? < ????? xsl:output = "????" > ?? ???? ??????? ?????? ?? ?????? ?? ????? XML ?????? ?? ??? ?? (????? ?? XML ?? ????? ??????? ?????????). ??? ?? ???? ?? ??????? ??????? ?? ??? ????? ??????? ?????? XML ??? ?????. ??? ???? ??? Word ?? ???? ???? interpeting ???? ?? RTF.

?????

?????? ??? ??????? ?????? ??? ?? ???? ?????? ??????? ?? Microsoft Word ???????? Office ?????? ???? ??? ??? ??????? ????? ?????? ?? "????? ??????? ?? Microsoft:
257757INFO: ???????? ??????? ???? ?????? ?? Office
?????? ??? ??????? ?????? ??? ??????? RTF ?? ???? ?? ???? ??? ???? ????????? ????????? ??????? ?? "????? ??????? ?? Microsoft:
270906HOWTO: ??????? ASP ????? ????? ????? (RTF) ?? ???? ??? ??? ??? Microsoft Word
258513HOWTO: RichText ??? ??????? ????? ??? Word ?? Visual Basic ???????
?????? ??? ??????? ?????? ??? ????? XML ???????? Visual Basic .NET ???? ??? ??? ??????? ????? ?????? ?? "????? ??????? ?? Microsoft:
300934HOW TO: ????? ????? XSL ??? XML ?? ??? ???????? Visual Basic .NET
300929HOW TO: ????? ????? XSL ?? ????? XML ??? ????? XML ???????? Visual Basic .NET

???????

???? ???????: 311461 - ????? ??? ??????: 26/???? ??????/1428 - ??????: 6.4
????? ???
  • Microsoft Office Word 2007
  • Microsoft Office Word 2003
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.0
  • Microsoft Word 2002 Standard Edition
  • Microsoft .NET Framework Class Libraries 1.0
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft ASP.NET 1.1
????? ??????: 
kbmt kbhowto KB311461 KbMtar
????? ????
???: ??? ????? ??? ?????? ???????? ?????? ????? ???? ????? ?????????? ????? ?? ????????? ?????? ????. ???? ???? ?????????? ???? ?? ???????? ???????? ?????? ????????? ????? ????????? ???????? ????? ???????? ?????? ?? ?????? ??? ?? ???????? ???????? ?? ????? ??????? ?????? ??? ??????? ?????? ??. ?????? ?? ???? ??? ??????? ???????? ????? ?? ???? ????? ?????? ??? ????? ??? ????? ??????? ?? ????? ?? ?????? ??? ??? ??????? ??????? ?? ????? ????? ????? ????? ?????. ?? ????? ???? ?????????? ??????? ??? ????? ?? ??????? ?? ????? ?????? ?? ??? ????? ?? ????? ??????? ?? ???????? ?? ??? ???????. ???? ???? ?????????? ???????? ??? ????? ?????? ??????? ??????
???? ??? ????? ??????? ?????? ??????????311461

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

 

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