NamedRange.BeforeDoubleClick, événement
Se produit lors d'un double clic sur un contrôle NamedRange, avant l'action par défaut du double clic.
Espace de noms : Microsoft.Office.Tools.Excel
Assembly : Microsoft.Office.Tools.Excel (dans Microsoft.Office.Tools.Excel.dll)
Syntaxe
'Déclaration
Event BeforeDoubleClick As DocEvents_BeforeDoubleClickEventHandler
event DocEvents_BeforeDoubleClickEventHandler BeforeDoubleClick
Notes
Un double-clic sur des contrôles NamedRange qui se chevauchent déclenche l'événement sur chacun des contrôles concernés.
Exemples
L'exemple de code suivant crée un NamedRange, puis remplit toutes les cellules avec le texte Delete. Pour tester les événements, cliquez avec le bouton droit sur l'une des cellules pour faire apparaître une bordure autour de la plage, puis double-cliquez sur l'une des cellules pour effacer la plage.
Cette version est destinée à une personnalisation au niveau du document.
Private clickRange As Microsoft.Office.Tools.Excel.NamedRange
Private Sub ClickToChangeRange()
clickRange = Me.Controls.AddNamedRange(Me.Range("B2", "D4"), _
"clickRange")
clickRange.Value2 = "Delete"
AddHandler clickRange.BeforeDoubleClick, _
AddressOf clickRange_BeforeDoubleClick
AddHandler clickRange.BeforeRightClick, _
AddressOf clickRange_BeforeRightClick
End Sub
Sub clickRange_BeforeRightClick(ByVal Target As Excel.Range, _
ByRef Cancel As Boolean)
clickRange.BorderAround(, Excel.XlBorderWeight.xlThick, _
Excel.XlColorIndex.xlColorIndexAutomatic, )
Cancel = True
End Sub
Sub clickRange_BeforeDoubleClick(ByVal Target As _
Excel.Range, ByRef Cancel As Boolean)
clickRange.Clear()
Cancel = True
End Sub
Microsoft.Office.Tools.Excel.NamedRange clickRange;
private void ClickToChangeRange()
{
clickRange = this.Controls.AddNamedRange(
this.Range["B2", "D4"], "clickRange");
clickRange.Value2 = "Delete";
clickRange.BeforeDoubleClick += new
Microsoft.Office.Interop.Excel.
DocEvents_BeforeDoubleClickEventHandler(
clickRange_BeforeDoubleClick);
clickRange.BeforeRightClick += new
Microsoft.Office.Interop.Excel.
DocEvents_BeforeRightClickEventHandler(
clickRange_BeforeRightClick);
}
void clickRange_BeforeRightClick(
Excel.Range Target, ref bool Cancel)
{
clickRange.BorderAround(missing, Excel.XlBorderWeight.xlThick,
Excel.XlColorIndex.xlColorIndexAutomatic, missing);
Cancel = true;
}
void clickRange_BeforeDoubleClick(
Excel.Range Target, ref bool Cancel)
{
clickRange.Clear();
Cancel = true;
}
Cette version est destinée à un complément d'application.
Private clickRange As NamedRange
Private Sub ClickToChangeRange()
Dim NativeWorksheet As Microsoft.Office.Interop.Excel.Worksheet =
Globals.ThisAddIn.Application.ActiveSheet
Dim vstoWorksheet As Microsoft.Office.Tools.Excel.Worksheet =
Globals.Factory.GetVstoObject(NativeWorksheet)
clickRange = vstoWorksheet.Controls.AddNamedRange( _
vstoWorksheet.Range("B2", "D4"), _
"clickRange")
clickRange.Value2 = "Delete"
AddHandler clickRange.BeforeDoubleClick, _
AddressOf clickRange_BeforeDoubleClick
AddHandler clickRange.BeforeRightClick, _
AddressOf clickRange_BeforeRightClick
End Sub
Sub clickRange_BeforeRightClick(ByVal Target As Excel.Range, _
ByRef Cancel As Boolean)
clickRange.BorderAround(, Excel.XlBorderWeight.xlThick, _
Excel.XlColorIndex.xlColorIndexAutomatic, )
Cancel = True
End Sub
Sub clickRange_BeforeDoubleClick(ByVal Target As _
Excel.Range, ByRef Cancel As Boolean)
clickRange.Clear()
Cancel = True
End Sub
NamedRange clickRange;
private void ClickToChangeRange()
{
Worksheet vstoWorksheet =
Globals.Factory.GetVstoObject(this.Application.ActiveWorkbook.Worksheets[1]);
clickRange = vstoWorksheet.Controls.AddNamedRange(
vstoWorksheet.Range["B2", "D4"], "clickRange");
clickRange.Value2 = "Delete";
clickRange.BeforeDoubleClick += new
Excel.DocEvents_BeforeDoubleClickEventHandler(
clickRange_BeforeDoubleClick);
clickRange.BeforeRightClick += new
Excel.DocEvents_BeforeRightClickEventHandler(
clickRange_BeforeRightClick);
}
void clickRange_BeforeRightClick(
Excel.Range Target, ref bool Cancel)
{
clickRange.BorderAround(missing, Excel.XlBorderWeight.xlThick,
Excel.XlColorIndex.xlColorIndexAutomatic, missing);
Cancel = true;
}
void clickRange_BeforeDoubleClick(
Excel.Range Target, ref bool Cancel)
{
clickRange.Clear();
Cancel = true;
}
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.