Udostępnij za pośrednictwem


Metoda ApplicationFactory.GetVstoObject — (_Worksheet)

Zwraca Microsoft.Office.Tools.Excel.Worksheet elementu hosta, która rozszerza funkcjonalność obiektu macierzystego skoroszyt określoną.

Przestrzeń nazw:  Microsoft.Office.Tools.Excel
Zestawy:   Microsoft.Office.Tools.Excel (w Microsoft.Office.Tools.Excel.dll)
  Microsoft.Office.Tools.Excel.v4.0.Utilities (w Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)

Składnia

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

Parametry

Wartość zwracana

Typ: Microsoft.Office.Tools.Excel.Worksheet
Element hosta, która rozszerza funkcjonalność obiektu macierzystego arkusza.

Uwagi

Wywołanie tej metody dodatek programu poziomu aplikacji do dostosowywania dowolnym arkuszem, który jest otwarty w programie Excel.Metoda ta umożliwia generowanie nowego Microsoft.Office.Tools.Excel.Worksheet obiektu, jeśli nie ma takiego obiektu już został wygenerowany.Kolejne wywołania tej metody zwraca buforowane wystąpienie istniejących Microsoft.Office.Tools.Excel.Worksheet obiektu.Aby uzyskać więcej informacji, zobacz Rozszerzanie dokumenty programu Word oraz skoroszyty programu Excel w dodatki poziomie aplikacji w czasie wykonywania.

[!UWAGA]

worksheet Parametr jest typu Microsoft.Office.Interop.Excel._Worksheet, który jest interfejsem nadrzędnej Microsoft.Office.Interop.Excel.Worksheet.W związku z tym, ta metoda może akceptować obiekty obu typów: Microsoft.Office.Interop.Excel._Worksheet i Microsoft.Office.Interop.Excel.Worksheet.Zazwyczaj, gdy odwołanie do arkusza programu Excel, możesz wykorzystać Microsoft.Office.Interop.Excel.Worksheet.

Przykłady

Poniższy przykład kodu tworzy Microsoft.Office.Tools.Excel.Worksheet elementu hosta dla każdego Microsoft.Office.Interop.Excel.Workbook obiekt, który znajduje się element hosta.Aby użyć tego kodu, uruchomić go z ThisAddIn klasy w dodatek programu Excel projektu atakującego .NET Framework 4 lub .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;
                }
            }
        }
    }
}

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

ApplicationFactory Interfejs

Przeciążenie GetVstoObject

Przestrzeń nazw Microsoft.Office.Tools.Excel

Inne zasoby

Rozszerzanie dokumenty programu Word oraz skoroszyty programu Excel w dodatki poziomie aplikacji w czasie wykonywania

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