Archivo de March de 2007

Programar Doble Click Visio .NET

Wednesday, 7 de March de 2007

Solución a problema de doble clic sobre un shape de Microsoft Visio

Documento sincows

EL PROBLEMA
Microsoft Visio da la libertad de que los usuarios directos (no programadores) de Visio le asignen una funcionalidad personalizada al doble clic sobre un shape (Ej.: se puede asignar un macro personalizado). Pero esta libertad que se da al usuario crea una limitante al programador .NET (Add-in) a la hora de asignar un evento o al llamar a un formulario.

LA SOLUCION

  1. En la celda del EventDblClick se debe asignar un valor. Se muestra a continuación que se ha asignado 6

DblClick

  1. Trabajar con el evento CellChanged de los eventos que se crean en .NET

Public WithEvents vsoShape As Microsoft.Office.Interop.Visio.Shape

  1. Este evento permite detectar el cambio realizado sobre alguna celda del shape, por lo que validamos que el cambio se haya realizado sobre la celda de nombre “EventDblClick” para de esta manera llamar a nuestro código personalizado, para conseguir que siempre que se de un doble clic sobre el shape exista un cambio de valor en la celda y por la tanto se desencadene el evento CellChanged, se debe realizar un incremento en el valor de la Cell.Formula del EventDblClick y una validación para que este no sobrepase el valor de 255.

Private Sub vsoShape_CellChanged(ByVal Cell As Microsoft.Office.Interop.Visio.Cell) Handles vsoShape.CellChanged
If
Cell.Name = “EventDblClick” Then
      ‘AQUÍ CÓDIGO PERSONALIZADO
      If Cell.Formula >= 255 Then
              Cell.Formula = 6
      Else
              Cell.Formula = Val(Cell.Formula) + 1
      End If
End If
End Sub