Método ServerDocument.Save
Salva as alterações foram feitas no documento usando o ServerDocument classe.
Namespace: Microsoft.VisualStudio.Tools.Applications
Assembly: Microsoft.VisualStudio.Tools.Applications.ServerDocument (em Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)
Sintaxe
'Declaração
Public Sub Save
public void Save()
Exceções
Exceção | Condição |
---|---|
DocumentClosedException | O ServerDocument foi fechado. |
MissingHostItemIdException | O Id propriedade de um CachedDataHostItem é nulluma referência nula (Nothing no Visual Basic) ou vazio. |
MissingDataIdException | O Id propriedade de um CachedDataItem é nulluma referência nula (Nothing no Visual Basic) ou vazio. |
MissingTypeException | O DataType propriedade de um CachedDataItem é nulluma referência nula (Nothing no Visual Basic) ou vazio. |
Comentários
O Save método salva as alterações que você fez para os dados em cache ou para a implantação de manifesto URL do documento. Se você criou o ServerDocument de objeto usando um documento no disco, esse método salva essas alterações no disco. Se você criou o ServerDocument de objeto usando um documento na memória, esse método salva essas alterações para o buffer de memória.
Exemplos
O exemplo de código a seguir cria um novo ServerDocument para uma pasta de trabalho do Excel especificada modifica o valor de uma seqüência de caracteres armazenados em cache em uma planilha usando o SerializeDataInstance método e em seguida, salva a alteração, usando o Save método.
This example requires:
Uma personalização em nível de documento para o Excel tem um Sheet1 classe na ExcelWorkbook1 namespace e uma seqüência de caracteres armazenados em cache na Sheet1 classe nomeada CachedString.
Um projeto de aplicativo de console ou algum outro projeto de não-Office.
Referências aos assemblies seguintes:
Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.dll (se os destinos do projeto de .NET Framework 4).
or
Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (se os destinos do projeto a.NET Framework 3.5).
Imports(para Visual Basic) ou using (para C#) instruções para Microsoft.VisualStudio.Tools.Applications e Microsoft.VisualStudio.Tools.Applications.Runtime namespaces no topo do seu arquivo de código.
Private Sub ModifyCachedString(ByVal documentPath As String)
Dim runtimeVersion As Integer = 0
Dim serverDocument1 As ServerDocument = Nothing
Try
runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
If runtimeVersion <> 3 Then
MessageBox.Show("This document does not have a Visual Studio Tools for Office " & _
"customization, or it has a customization that was created with a version of " & _
"the runtime that is incompatible with this version of the ServerDocument class.")
Return
End If
If ServerDocument.IsCacheEnabled(documentPath) Then
serverDocument1 = New ServerDocument(documentPath)
Dim hostItem1 As CachedDataHostItem = _
serverDocument1.CachedData.HostItems("ExcelWorkbook1.Sheet1")
Dim dataItem1 As CachedDataItem = hostItem1.CachedData("CachedString")
If dataItem1 IsNot Nothing AndAlso _
Type.GetType(dataItem1.DataType).Equals(GetType(String)) Then
dataItem1.SerializeDataInstance("This is the new cached string value.")
serverDocument1.Save()
End If
Else
MessageBox.Show("The specified document does not have cached data.")
End If
Catch ex As System.IO.FileNotFoundException
System.Windows.Forms.MessageBox.Show("The specified document does not exist.")
Catch ex As UnknownCustomizationFileException
System.Windows.Forms.MessageBox.Show("The specified document has a file " & _
"extension that is not supported by Visual Studio Tools for Office.")
Finally
If Not (serverDocument1 Is Nothing) Then
serverDocument1.Close()
End If
End Try
End Sub
private void ModifyCachedString(string documentPath)
{
int runtimeVersion = 0;
ServerDocument serverDocument1 = null;
try
{
runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
if (runtimeVersion != 3)
{
MessageBox.Show("This document does not have a Visual Studio Tools for " +
"Office customization, or it has a customization that was created with " +
"a version of the runtime that is incompatible with this version of the " +
"ServerDocument class.");
return;
}
if (ServerDocument.IsCacheEnabled(documentPath))
{
serverDocument1 = new ServerDocument(documentPath);
CachedDataHostItem hostItem1 =
serverDocument1.CachedData.HostItems["ExcelWorkbook1.Sheet1"];
CachedDataItem dataItem1 = hostItem1.CachedData["CachedString"];
if (dataItem1 != null &&
Type.GetType(dataItem1.DataType) == typeof(string))
{
dataItem1.SerializeDataInstance("This is the new cached string value.");
serverDocument1.Save();
}
}
else
{
MessageBox.Show("The specified document does not have cached data.");
}
}
catch (System.IO.FileNotFoundException)
{
System.Windows.Forms.MessageBox.Show("The specified document does not exist.");
}
catch (UnknownCustomizationFileException)
{
System.Windows.Forms.MessageBox.Show("The specified document has a file " +
"extension that is not supported by Visual Studio Tools for Office.");
}
finally
{
if (serverDocument1 != null)
serverDocument1.Close();
}
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.