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
- worksheet
Typ: Microsoft.Office.Interop.Excel._Worksheet
Arkusza macierzysty obiekt, który pobiera obiekt rozszerzone.Ten parametr jest typu Microsoft.Office.Interop.Excel._Worksheet, zazwyczaj przekazać Microsoft.Office.Interop.Excel.Worksheet obiektu do tej metody.
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
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Przy użyciu bibliotek z częściowo zaufanego kodu..
Zobacz też
Informacje
Przestrzeń nazw Microsoft.Office.Tools.Excel
Inne zasoby
Getting Extended Objects from Native Office Objects in Document-Level Customizations