Auf Englisch lesen

Freigeben über


ApplicationFactory.GetVstoObject-Methode (_Worksheet)

Gibt ein Microsoft.Office.Tools.Excel.Worksheet-Hostelement zurück, das die Funktionalität des angegebenen systemeigenen Arbeitsmappenobjekts erweitert.

Namespace:  Microsoft.Office.Tools.Excel
Assemblys:   Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)
  Microsoft.Office.Tools.Excel.v4.0.Utilities (in Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)

Syntax

'Declaration
Function GetVstoObject ( _
    worksheet As _Worksheet _
) As Worksheet
Worksheet GetVstoObject(
    _Worksheet worksheet
)

Parameter

Rückgabewert

Typ: Microsoft.Office.Tools.Excel.Worksheet
Das Hostelement, das die Funktionalität des systemeigenen Arbeitsblattobjekts erweitert.

Hinweise

Rufen Sie diese Methode in einem Add-In auf Anwendungsebene auf, um ein beliebiges, in Excel geöffnetes Arbeitsblatt anzupassen.Diese Methode generiert ein neues Microsoft.Office.Tools.Excel.Worksheet-Objekt, falls ein solches Objekt nicht bereits generiert wurde.Nachfolgende Aufrufe dieser Methode geben die zwischengespeicherte Instanz des vorhandenen Microsoft.Office.Tools.Excel.Worksheet-Objekts zurück.Weitere Informationen finden Sie unter Erweitern von Word-Dokumenten und Excel-Arbeitsmappen in Add-Ins auf Anwendungsebene zur Laufzeit.

HinweisHinweis

Der worksheet-Parameter ist vom Typ Microsoft.Office.Interop.Excel._Worksheet. Bei diesem handelt es sich um die übergeordnete Schnittstelle von Microsoft.Office.Interop.Excel.Worksheet.Daher kann diese Methode Objekte beider Typen akzeptieren: Microsoft.Office.Interop.Excel._Worksheet und Microsoft.Office.Interop.Excel.Worksheet.Normalerweise wird ein Microsoft.Office.Interop.Excel.Worksheet verwendet, um auf ein Excel-Arbeitsblatt zu verweisen.

Beispiele

Im folgenden Codebeispiel wird ein Microsoft.Office.Tools.Excel.Worksheet-Hostelement für jedes Microsoft.Office.Interop.Excel.Workbook-Objekt erstellt, das über ein Hostelement verfügt.Um diesen Code auszuführen, führen Sie es von der - Klasse ThisAddIn in einem Excel-Add-In-Projekt abzielt .NET Framework 4 oder .NET Framework 4.5 verwenden.

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;
                }
            }
        }
    }
}

.NET Framework-Sicherheit

Siehe auch

Referenz

ApplicationFactory Schnittstelle

GetVstoObject-Überladung

Microsoft.Office.Tools.Excel-Namespace

Weitere Ressourcen

Erweitern von Word-Dokumenten und Excel-Arbeitsmappen in Add-Ins auf Anwendungsebene zur Laufzeit

Getting Extended Objects from Native Office Objects in Document-Level Customizations