Método ApplicationFactory.GetVstoObject (_Worksheet)
Retorna um item de host de Microsoft.Office.Tools.Excel.Worksheet que estende a funcionalidade do objeto nativo especificado de pasta de trabalho.
Namespace: Microsoft.Office.Tools.Excel
Assemblies: Microsoft.Office.Tools.Excel (em Microsoft.Office.Tools.Excel.dll)
Microsoft.Office.Tools.Excel.v4.0.Utilities (em Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Sintaxe
'Declaração
Function GetVstoObject ( _
worksheet As _Worksheet _
) As Worksheet
Worksheet GetVstoObject(
_Worksheet worksheet
)
Parâmetros
- worksheet
Tipo: Microsoft.Office.Interop.Excel._Worksheet
O objeto nativo a planilha para que recuperar o objeto estendido.Embora esse parâmetro é do tipo Microsoft.Office.Interop.Excel._Worksheet, você normalmente passa um objeto de Microsoft.Office.Interop.Excel.Worksheet para este método.
Valor de retorno
Tipo: Microsoft.Office.Tools.Excel.Worksheet
O item host que estendem a funcionalidade do objeto nativo a planilha.
Comentários
Chamar este método em um suplemento ao nível para personalizar qualquer planilha do excel que é aberta. Este método gera um novo objeto de Microsoft.Office.Tools.Excel.Worksheet se nenhum tal objeto já foi gerado. Chamadas subsequentes para esse método retornar a instância em cache do objeto existente de Microsoft.Office.Tools.Excel.Worksheet . Para obter mais informações, consulte Estendendo documentos do Word e pastas de trabalho do Excel em suplementos no nível do aplicativo em tempo de execução.
Dica
O parâmetro de worksheet é do tipo Microsoft.Office.Interop.Excel._Worksheet, que é a interface pai de Microsoft.Office.Interop.Excel.Worksheet.Portanto, esse método pode aceitar objetos de dois tipos: Microsoft.Office.Interop.Excel._Worksheet e Microsoft.Office.Interop.Excel.Worksheet.Normalmente, quando você referencia uma planilha do excel, você usa Microsoft.Office.Interop.Excel.Worksheet.
Exemplos
O exemplo de código a seguir cria um item de host de Microsoft.Office.Tools.Excel.Worksheet para cada objeto de Microsoft.Office.Interop.Excel.Workbook que tem um item host. Para usar este código, ele execução da classe de ThisAddIn em um projeto do suplemento do excel que tem como alvo .NET Framework 4 ou .NET Framework 4.5.
Private Sub Application_WorkbookBeforeSave( _
ByVal Wb As Microsoft.Office.Interop.Excel.Workbook, _
ByVal SaveAsUI As Boolean, _
ByRef Cancel As Boolean) Handles Application.WorkbookBeforeSave
If Globals.Factory.HasVstoObject(Wb) = True Then
For Each interopSheet As Excel.Worksheet In Wb.Worksheets
If Globals.Factory.HasVstoObject(interopSheet) = True Then
Dim vstoSheet As Worksheet = Globals.Factory.GetVstoObject(interopSheet)
If vstoSheet.Controls.Count > 0 Then
System.Windows.Forms.MessageBox.Show( _
"The VSTO controls are not persisted when you" _
+ " save and close this workbook.", _
"Controls Persistence", _
System.Windows.Forms.MessageBoxButtons.OK, _
System.Windows.Forms.MessageBoxIcon.Warning)
Exit For
End If
End If
Next
End If
End Sub
void Application_WorkbookBeforeSave(
Microsoft.Office.Interop.Excel.Workbook Wb, bool SaveAsUI,
ref bool Cancel)
{
if (Globals.Factory.HasVstoObject(Wb) == true)
{
foreach (Excel.Worksheet interopSheet in Wb.Worksheets)
{
if (Globals.Factory.HasVstoObject(interopSheet) == true)
{
Worksheet vstoSheet = Globals.Factory.GetVstoObject(interopSheet);
if (vstoSheet.Controls.Count > 0)
{
System.Windows.Forms.MessageBox.Show(
"The VSTO controls are not persisted when you"
+ " save and close this workbook.",
"Controls Persistence",
System.Windows.Forms.MessageBoxButtons.OK,
System.Windows.Forms.MessageBoxIcon.Warning);
break;
}
}
}
}
}
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ável.
Consulte também
Referência
Namespace Microsoft.Office.Tools.Excel
Outros recursos
Getting Extended Objects from Native Office Objects in Document-Level Customizations