Evento NamedRange.BeforeDoubleClick (sistema de 2007)
Ocorre quando um NamedRange controle é clicado duas vezes, antes da ação padrão de clicar duas vezes.
Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel.v9.0 (em Microsoft.Office.Tools.Excel.v9.0.dll)
Sintaxe
Public Event BeforeDoubleClick As DocEvents_BeforeDoubleClickEventHandler
Dim instance As NamedRange
Dim handler As DocEvents_BeforeDoubleClickEventHandler
AddHandler instance.BeforeDoubleClick, handler
public event DocEvents_BeforeDoubleClickEventHandler BeforeDoubleClick
Comentários
Clicar duas vezes em sobreposição NamedRange controles dispara o evento em cada um dos controles que se sobrepõem.
Exemplos
O exemplo de código a seguir cria um NamedRange e, em seguida, preenche as células com o texto Excluir.Para testar os eventos, clicar com o botão direito do mouse em uma das células para tornar uma borda ao redor do intervalo e, em seguida, clicar clicar duas vezes em uma das células para desmarcar o intervalo.
Esta versão é para uma personalização em nível de documento.
Private clickRange As Microsoft.Office.Tools.Excel.NamedRange
PrivateSub 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
EndSubSub clickRange_BeforeRightClick(ByVal Target As Excel.Range, _
ByRef Cancel AsBoolean)
clickRange.BorderAround(, Excel.XlBorderWeight.xlThick, _
Excel.XlColorIndex.xlColorIndexAutomatic, )
Cancel = TrueEndSubSub clickRange_BeforeDoubleClick(ByVal Target As _
Excel.Range, ByRef Cancel AsBoolean)
clickRange.Clear()
Cancel = TrueEndSub
Microsoft.Office.Tools.Excel.NamedRange clickRange;
privatevoid 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, refbool Cancel)
{
clickRange.BorderAround(missing, Excel.XlBorderWeight.xlThick,
Excel.XlColorIndex.xlColorIndexAutomatic, missing);
Cancel = true;
}
void clickRange_BeforeDoubleClick(
Excel.Range Target, refbool Cancel)
{
clickRange.Clear();
Cancel = true;
}
Esta versão é para um suplemento no nível de aplicativo.
Private clickRange As NamedRange
PrivateSub ClickToChangeRange()
Dim vstoWorksheet As Worksheet = CType( _
Me.Application.ActiveWorkbook.Worksheets(1), _
Excel.Worksheet).GetVstoObject()
clickRange = vstoWorksheet.Controls.AddNamedRange( _
vstoWorksheet.Range("B2", "D4"), _
"clickRange")
clickRange.Value2 = "Delete"AddHandler clickRange.BeforeDoubleClick, _
AddressOf clickRange_BeforeDoubleClick
AddHandler clickRange.BeforeRightClick, _
AddressOf clickRange_BeforeRightClick
EndSubSub clickRange_BeforeRightClick(ByVal Target As Excel.Range, _
ByRef Cancel AsBoolean)
clickRange.BorderAround(, Excel.XlBorderWeight.xlThick, _
Excel.XlColorIndex.xlColorIndexAutomatic, )
Cancel = TrueEndSubSub clickRange_BeforeDoubleClick(ByVal Target As _
Excel.Range, ByRef Cancel AsBoolean)
clickRange.Clear()
Cancel = TrueEndSub
NamedRange clickRange;
privatevoid ClickToChangeRange()
{
Worksheet vstoWorksheet = ((Excel.Worksheet)
this.Application.ActiveWorkbook.Worksheets[1]).GetVstoObject();
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, refbool Cancel)
{
clickRange.BorderAround(missing, Excel.XlBorderWeight.xlThick,
Excel.XlColorIndex.xlColorIndexAutomatic, missing);
Cancel = true;
}
void clickRange_BeforeDoubleClick(
Excel.Range Target, refbool Cancel)
{
clickRange.Clear();
Cancel = true;
}
Permissões
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de códigos parcialmente Confiável.
Consulte também
Referência
Namespace Microsoft.Office.Tools.Excel
Date |
History |
Motivo |
---|---|---|
Julho de 2008 |
Adicionado a uma versão do código de exemplo para um suplemento em nível de aplicativo. |
Alteração de recurso do SP1. |