ApplicationFactory.GetVstoObject, méthode (_Worksheet)
Retourne un élément hôte Microsoft.Office.Tools.Excel.Worksheet qui étend les fonctionnalités de l'objet de classeur natif spécifié.
Espace de noms : Microsoft.Office.Tools.Excel
Assemblys : Microsoft.Office.Tools.Excel (dans Microsoft.Office.Tools.Excel.dll)
Microsoft.Office.Tools.Excel.v4.0.Utilities (dans Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Syntaxe
'Déclaration
Function GetVstoObject ( _
worksheet As _Worksheet _
) As Worksheet
Worksheet GetVstoObject(
_Worksheet worksheet
)
Paramètres
- worksheet
Type : Microsoft.Office.Interop.Excel._Worksheet
Objet de feuille de calcul natif pour lequel l'objet étendu doit être récupéré.Bien que ce paramètre soit de type Microsoft.Office.Interop.Excel._Worksheet, vous passez généralement un objet Microsoft.Office.Interop.Excel.Worksheet à cette méthode.
Valeur de retour
Type : Microsoft.Office.Tools.Excel.Worksheet
Élément hôte qui étend les fonctionnalités de l'objet de feuille de calcul natif.
Notes
Appelez cette méthode dans un complément d'application pour personnaliser toutes les feuilles de calcul ouvertes dans Excel. Cette méthode génère un nouvel objet Microsoft.Office.Tools.Excel.Worksheet si aucun objet de ce type n'a déjà été généré. Les appels suivants à cette méthode retournent l'instance mise en cache de l'objet Microsoft.Office.Tools.Excel.Worksheet existant. Pour plus d'informations, consultez Extension de documents Word et de classeurs Excel dans des compléments d'application au moment de l'exécution..
Notes
Le paramètre worksheet est de type Microsoft.Office.Interop.Excel._Worksheet, qui correspond à l'interface parente de Microsoft.Office.Interop.Excel.Worksheet.Par conséquent, cette méthode peut accepter des objets de deux types: Microsoft.Office.Interop.Excel._Worksheet et Microsoft.Office.Interop.Excel.Worksheet.En général, lorsque vous référencez une feuille de calcul Excel, vous utilisez Microsoft.Office.Interop.Excel.Worksheet.
Exemples
L'exemple de code suivant crée un élément hôte Microsoft.Office.Tools.Excel.Worksheet pour chaque objet Microsoft.Office.Interop.Excel.Workbook qui a un élément hôte. Pour utiliser ce code, exécutez-le depuis la classe ThisAddIn dans un projet de complément Excel qui cible le .NET Framework 4 ou le .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;
}
}
}
}
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.
Voir aussi
Référence
Microsoft.Office.Tools.Excel, espace de noms
Autres ressources
Getting Extended Objects from Native Office Objects in Document-Level Customizations