ApplicationFactory.GetVstoObject – metoda (_Worksheet)
Vrátí Microsoft.Office.Tools.Excel.Worksheet položku hostitele, který rozšiřuje funkčnost nativní sešitu zadaný objekt.
Obor názvů: Microsoft.Office.Tools.Excel
Sestavení: Microsoft.Office.Tools.Excel (v Microsoft.Office.Tools.Excel.dll)
Microsoft.Office.Tools.Excel.v4.0.Utilities (v Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Syntaxe
'Deklarace
Function GetVstoObject ( _
worksheet As _Worksheet _
) As Worksheet
Worksheet GetVstoObject(
_Worksheet worksheet
)
Parametry
- worksheet
Typ: Microsoft.Office.Interop.Excel._Worksheet
Nativní sešitu objekt, pro který chcete načíst rozšířené objekt.Ačkoli je tento parametr typu Microsoft.Office.Interop.Excel._Worksheet, obvykle předat Microsoft.Office.Interop.Excel.Worksheet objektu této metody.
Vrácená hodnota
Typ: Microsoft.Office.Tools.Excel.Worksheet
Položku hostitele, který rozšiřuje funkčnost nativní sešitu objekt.
Poznámky
Tuto metodu lze volejte v úrovni aplikace doplňku aplikace upravit libovolný list, který je otevřen v aplikaci Excel.Tato metoda generuje nový Microsoft.Office.Tools.Excel.Worksheet objektu, pokud žádný takový objekt již byl vygenerován.Následující volání této metody vrátit existující instance mezipaměti Microsoft.Office.Tools.Excel.Worksheet objektu.Další informace naleznete v tématu Rozšíření dokumentů aplikace Word a sešitů aplikace Excel v doplňcích na úrovni aplikace za běhu.
[!POZNÁMKA]
worksheet Parametr je typu Microsoft.Office.Interop.Excel._Worksheet, která je nadřazená rozhraní Microsoft.Office.Interop.Excel.Worksheet.Tato metoda proto přijmout obou typů objektů: Microsoft.Office.Interop.Excel._Worksheet a Microsoft.Office.Interop.Excel.Worksheet.Obvykle při odkazu na listu aplikace Excel, slouží Microsoft.Office.Interop.Excel.Worksheet.
Příklady
Následující příklad kódu vytvoří Microsoft.Office.Tools.Excel.Worksheet položku hostitele pro každou Microsoft.Office.Interop.Excel.Workbook objekt, který obsahuje položku hostitelské.Chcete-li použít tento kód, spusťte jej z ThisAddIn třídy v doplňku aplikace Excel projekt, který se zaměřuje .NET Framework 4 nebo .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;
}
}
}
}
}
Zabezpečení rozhraní .NET Framework
- Plná důvěra přímému volajícímu. Částečně zabezpečený kód nemůže tento člen použít. Další informace naleznete v tématu Používání knihoven z částečně důvěryhodného kódu.
Viz také
Referenční dokumentace
Microsoft.Office.Tools.Excel – obor názvů
Další zdroje
Rozšíření dokumentů aplikace Word a sešitů aplikace Excel v doplňcích na úrovni aplikace za běhu
Getting Extended Objects from Native Office Objects in Document-Level Customizations