共用方式為


Close 方法 (2003 系統)

關閉 ServerDocument

命名空間:  Microsoft.VisualStudio.Tools.Applications.Runtime
組件:  Microsoft.VisualStudio.Tools.Applications.Runtime (在 Microsoft.VisualStudio.Tools.Applications.Runtime.dll 中)

語法

'宣告
Public Sub Close
'用途
Dim instance As ServerDocument

instance.Close()
public void Close()

備註

呼叫這個方法,釋放所有資源並關閉 ServerDocument

範例

下列程式碼範例會建立新的 ServerDocument,修改指定文件中快取的資料,然後使用 Close 方法關閉 ServerDocument。這個範例需要對 Microsoft.VisualStudio.Tools.Applications.Runtime 組件的參考,並且在程式碼檔的開頭需要 Microsoft.VisualStudio.Tools.Applications.Runtime 命名空間的 Imports (適用於 Visual Basic) 或 using (適用於 C#) 陳述式。

Private customerOrdersSet As DataSet

Private Sub LoadCachedData(ByVal fileName As String)
    If ServerDocument.IsCacheEnabled(fileName) Then
        Dim serverDocument1 As ServerDocument = Nothing
        Try
            serverDocument1 = New ServerDocument(fileName)
            customerOrdersSet = New DataSet()

            ' Identify the namespace and the class that  
            ' contains the cached data object.
            Dim hostItem1 As CachedDataHostItem = _
                serverDocument1.CachedData.HostItems( _
                "DataCachingSource.ThisWorkbook")

            ' Identify the name of the cached data object.
            Dim dataItem1 As CachedDataItem = _
                hostItem1.CachedData("customerOrdersCached")

            ' Read the cached data into the local DataSet.
            If Nothing <> dataItem1.Xml AndAlso _
                Nothing <> dataItem1.Schema Then

                Dim xmlReader As New System.IO.StringReader( _
                    dataItem1.Xml)
                Dim schemaReader As New System.IO.StringReader( _
                    dataItem1.Schema)
                customerOrdersSet.ReadXmlSchema(schemaReader)
                customerOrdersSet.ReadXml(xmlReader)

                ' Modify the data.
                Dim row As DataRow
                For Each row In customerOrdersSet.Tables(0).Rows
                    Dim orders As Integer = Fix(row("OrderQuantity"))
                    row("OrderQuantity") = orders * 2
                Next row

                ' Write the modified data back to the
                ' cached data in the worksheet.
                dataItem1.SerializeDataInstance(customerOrdersSet)
                serverDocument1.Save()
            End If
        Finally
            If Not serverDocument1 Is Nothing Then
                serverDocument1.Close()
            End If
        End Try
    Else
        MsgBox("The specified document does not have " + _
            "a data cache.")
    End If
End Sub
private DataSet customerOrdersSet;

private void LoadCachedData(string fileName)
{
    if (ServerDocument.IsCacheEnabled(fileName))
    {
        ServerDocument serverDocument1 = null;
        try
        {
            serverDocument1 = new ServerDocument(fileName);
            customerOrdersSet = new DataSet();

            // Identify the namespace and the class that contains 
            // the cached data object.
            CachedDataHostItem hostItem1 =
                serverDocument1.CachedData.HostItems[
                "DataCachingSource.ThisWorkbook"];

            // Identify the name of the cached data object.
            CachedDataItem dataItem1 = hostItem1.CachedData[
                "customerOrdersCached"];

            // Read the cached data into the local DataSet.
            if (null != dataItem1.Xml && null != dataItem1.Schema)
            {
                System.IO.StringReader xmlReader =
                    new System.IO.StringReader(dataItem1.Xml);
                System.IO.StringReader schemaReader =
                    new System.IO.StringReader(dataItem1.Schema);
                customerOrdersSet.ReadXmlSchema(schemaReader);
                customerOrdersSet.ReadXml(xmlReader);

                // Modify the data.
                foreach (DataRow row in
                    customerOrdersSet.Tables[0].Rows)
                {
                    int orders = (int)row["OrderQuantity"];
                    row["OrderQuantity"] = orders * 2;
                }

                // Write the modified data back to the
                // cached data in the worksheet.
                dataItem1.SerializeDataInstance(customerOrdersSet);
                serverDocument1.Save();
            }
        }
        finally
        {
            if (serverDocument1 != null)
                serverDocument1.Close();
        }
    }
    else
    {
        MessageBox.Show("The specified document does not have " +
            "a data cache.");
    }
}

使用權限

請參閱

參考

ServerDocument 類別

ServerDocument 成員

Microsoft.VisualStudio.Tools.Applications.Runtime 命名空間