ApplicationFactory.GetVstoObject Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
| GetVstoObject(_Workbook) |
Retourne un élément hôte Workbook qui étend les fonctionnalités de l’objet classeur natif spécifié. |
| GetVstoObject(_Worksheet) |
Retourne un élément hôte Worksheet qui étend les fonctionnalités de l’objet classeur natif spécifié. |
| GetVstoObject(ListObject) |
Retourne un ListObject qui étend les fonctionnalités de l’objet de liste natif spécifié. |
GetVstoObject(_Workbook)
Retourne un élément hôte Workbook qui étend les fonctionnalités de l’objet classeur natif spécifié.
public Microsoft.Office.Tools.Excel.Workbook GetVstoObject (Microsoft.Office.Interop.Excel._Workbook workbook);
Paramètres
- workbook
- _Workbook
Objet classeur natif pour lequel récupérer l’objet étendu. Même si ce paramètre est de type _Workbook, vous transmettez généralement un objet Workbook à cette méthode.
Retours
Élément hôte qui étend les fonctionnalités de l’objet classeur natif.
Exemples
L’exemple de code suivant crée un Microsoft.Office.Tools.Excel.Workbook élément hôte pour le classeur Excel actif. 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.
Workbook vstoWorkbook =
Globals.Factory.GetVstoObject(this.Application.ActiveWorkbook);
foreach (SmartTag st in vstoWorkbook.VstoSmartTags)
{
System.Windows.Forms.MessageBox.Show(st.Caption);
}
Dim vstoWorkbook As Workbook = _
Globals.Factory.GetVstoObject(Me.Application.ActiveWorkbook)
For Each st As SmartTag In vstoWorkbook.VstoSmartTags
System.Windows.Forms.MessageBox.Show(st.Caption)
Next
Remarques
Appelez cette méthode dans un complément au niveau de l’application pour personnaliser tout classeur ouvert dans Excel. Cette méthode génère un nouvel Microsoft.Office.Tools.Excel.Workbook objet 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' Microsoft.Office.Tools.Excel.Workbook objet existant. Pour plus d'informations, consultez Extending Word Documents and Excel Workbooks in VSTO Add-ins at Run Time.
Notes
VSTO suit le paramètre de stratégie de groupe Office « sécurité Automation » lorsqu’il est défini sur « macros activées » ou « désactiver les macros par défaut ». Toutefois, VSTO autorise toujours l’exécution de l’automatisation si le paramètre est défini sur « utiliser le niveau de sécurité des macros de l’application », quel que soit le paramètre de l’application. Pour empêcher VSTO d’autoriser l’exécution de l’automatisation, choisissez le paramètre « Désactiver les macros par défaut ».
Le workbook paramètre est de type Microsoft.Office.Interop.Excel._Workbook , qui est l’interface parente de Microsoft.Office.Interop.Excel.Workbook . Par conséquent, cette méthode peut accepter des objets des deux types : Microsoft.Office.Interop.Excel._Workbook et Microsoft.Office.Interop.Excel.Workbook . En général, lorsque vous référencez un classeur Excel, vous utilisez un Microsoft.Office.Interop.Excel.Workbook .
S’applique à
GetVstoObject(_Worksheet)
Retourne un élément hôte Worksheet qui étend les fonctionnalités de l’objet classeur natif spécifié.
public Microsoft.Office.Tools.Excel.Worksheet GetVstoObject (Microsoft.Office.Interop.Excel._Worksheet worksheet);
Paramètres
- worksheet
- _Worksheet
Objet de feuille de calcul natif pour lequel l'objet étendu doit être récupéré. Même si ce paramètre est de type _Worksheet, vous transmettez généralement un objet Worksheet à cette méthode.
Retours
Élément hôte qui étend les fonctionnalités de l'objet de feuille de calcul natif.
Exemples
L’exemple de code suivant crée un Microsoft.Office.Tools.Excel.Worksheet élément hôte pour chaque Microsoft.Office.Interop.Excel.Workbook objet 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.
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;
}
}
}
}
}
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
Remarques
Appelez cette méthode dans un complément au niveau de l’application pour personnaliser toute feuille de calcul ouverte dans Excel. Cette méthode génère un nouvel Microsoft.Office.Tools.Excel.Worksheet objet 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' Microsoft.Office.Tools.Excel.Worksheet objet existant. Pour plus d'informations, consultez Extending Word Documents and Excel Workbooks in VSTO Add-ins at Run Time.
Notes
Le worksheet paramètre est de type Microsoft.Office.Interop.Excel._Worksheet , qui est l’interface parente de Microsoft.Office.Interop.Excel.Worksheet . Par conséquent, cette méthode peut accepter des objets des 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 un Microsoft.Office.Interop.Excel.Worksheet .
S’applique à
GetVstoObject(ListObject)
Retourne un ListObject qui étend les fonctionnalités de l’objet de liste natif spécifié.
public Microsoft.Office.Tools.Excel.ListObject GetVstoObject (Microsoft.Office.Interop.Excel.ListObject listObject);
Paramètres
- listObject
- ListObject
Objet de liste natif pour lequel récupérer l’objet étendu.
Retours
Objet qui étend les fonctionnalités de l’objet de liste natif.
Exemples
L’exemple de code suivant crée un Microsoft.Office.Tools.Excel.ListObject é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.
Excel.Worksheet mySheet = (Excel.Worksheet)
this.Application.Worksheets["Sheet1"];
if (mySheet.ListObjects.Count > 0)
{
ListObject vstoListObject =
Globals.Factory.GetVstoObject(mySheet.ListObjects[1]);
vstoListObject.SetDataBinding(ds, "Product", "Name");
}
Dim mySheet As Excel.Worksheet = Me.Application.ActiveSheet
If mySheet.ListObjects.Count > 0 Then
Dim vstoListObject As ListObject = _
Globals.Factory.GetVstoObject(mySheet.ListObjects(1))
vstoListObject.SetDataBinding(ds, "Product", "Name")
End If
Remarques
Appelez cette méthode dans un complément au niveau de l’application pour personnaliser tout objet de liste dans une feuille de calcul Excel. Cette méthode génère un nouvel Microsoft.Office.Tools.Excel.ListObject objet 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' Microsoft.Office.Tools.Excel.ListObject objet existant. Pour plus d'informations, consultez Extending Word Documents and Excel Workbooks in VSTO Add-ins at Run Time.