Compartilhar via


Método ApplicationFactory.GetVstoObject (_Worksheet)

Retorna um Microsoft.Office.Tools.Excel.Worksheet o item de host que estende a funcionalidade do objeto de pasta de trabalho especificada nativa.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (em Microsoft.Office.Tools.Excel.dll)

Sintaxe

'Declaração
Function GetVstoObject ( _
    worksheet As _Worksheet _
) As Worksheet
Worksheet GetVstoObject(
    _Worksheet worksheet
)

Parâmetros

Valor de retorno

Tipo: Microsoft.Office.Tools.Excel.Worksheet
O item de host que estende a funcionalidade do objeto nativo de planilha.

Comentários

Chame esse método em um suplemento do nível do aplicativo para personalizar qualquer planilha que está aberta no Excel. Esse método gera um novo Microsoft.Office.Tools.Excel.Worksheet se não há tal objeto já foi gerado de objeto. As chamadas subseqüentes a esse método retornam a instância em cache do existente Microsoft.Office.Tools.Excel.Worksheet objeto. For more information, see Estendendo os documentos do Word e pastas de trabalho do Excel em suplementos de nível de aplicativo em tempo de execução.

ObservaçãoObservação

O worksheet parâmetro é do tipo Microsoft.Office.Interop.Excel._Worksheet, que é a interface do pai do Microsoft.Office.Interop.Excel.Worksheet. Portanto, esse método pode aceitar objetos dos dois tipos: Microsoft.Office.Interop.Excel._Worksheet and Microsoft.Office.Interop.Excel.Worksheet. Normalmente, quando você faz referência a uma planilha do Excel, você usa um Microsoft.Office.Interop.Excel.Worksheet.

Exemplos

O exemplo de código a seguir cria um Microsoft.Office.Tools.Excel.Worksheet o item de host para cada Microsoft.Office.Interop.Excel.Workbook objeto que tem um item de host. Para usar esse código, executá-lo na ThisAddIn que os destinos do projeto de classe em um suplemento do Excel a .NET Framework 4.

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

Consulte também

Referência

ApplicationFactory Interface

Sobrecargas GetVstoObject

Namespace Microsoft.Office.Tools.Excel

Outros recursos

Estendendo os documentos do Word e pastas de trabalho do Excel em suplementos de nível de aplicativo em tempo de execução

Obtendo Extended objetos a partir de objetos nativos do Office no nível do documento personalizações