Acerca de la visualización gráfica de datos (Visio)

Nota Las características de conectividad de datos solo están disponibles para los usuarios con licencia de Microsoft Visio Profesional 2013.

Existen cuatro aspectos de conectividad de datos en Visio:

  • Conectar con un origen de datos
  • Vincular formas a datos
  • Mostrar datos vinculados gráficamente
  • Actualizar los datos vinculados que han cambiado en el origen de datos, actualizar las formas vinculadas y resolver los conflictos posteriores que puedan surgir

Normalmente, estos aspectos se plantean en el orden en el que se enumeran; es decir, primero conecte el dibujo de Visio a un origen de datos, después vincule las formas del dibujo a datos del origen de datos, muestre los datos de las formas vinculadas gráficamente y actualice los datos vinculados si fuese necesario. Cada uno de estos aspectos tiene nuevos objetos y miembros asociados en el modelo de objetos de Visio. En este tema se trata el tercero y el cuarto de estos aspectos: mostrar los datos vinculados gráficamente en Visio y actualizar los datos. Para obtener más información sobre el resto de los aspectos de conectividad de datos, vea los siguientes temas:

Para mostrar los datos vinculados mediante programación, puede usar la API de Visio para la presentación de los datos, que incluye los siguientes objetos y su miembros asociados:

Después de vincular las formas del dibujo de Visio a las filas de un registro de datos, puede mostrar los datos gráficamente mediante programación. Por ejemplo, imaginemos que el dibujo contiene varias formas vinculadas a los datos, cada una de las cuales representa un proyecto en una determinada fase del proceso de finalización. Puede asociar una barra de progreso a un elemento determinado de los datos de la forma, como porcentaje de finalización del proyecto. A continuación, puede aplicar la barra de progreso a una selección de formas de proyecto y mostrar visualmente el progreso de cada proyecto hacia la finalización.

Descripción general de los gráficos de datos y los elementos gráficos

Para facilitar la visualización gráfica de los datos, Visio presenta el concepto de gráficos de datos y un tipo de objeto Master denominado patrón de gráficos de datos, que se representa en la enumeración VisMasterTypes mediante el valor visTypeDataGraphic. Para agregar un objeto Master de tipo visTypeDataGraphic a la colección Masters , debe usar el método Masters.AddEx .

Visio incluye varios tipos de patrones, incluidos los patrones de formas. Al crear una instancia de un patrón de forma, éste se convierte en una forma. Visio incluye también patrones de trama de relleno, trama de línea y trama de extremos de líneas para los cuales no puede crear instancias. Puede aplicar estos patrones a las formas para transmitir el patrón de trama a la forma. Los patrones de gráficos de datos son más parecidos a los patrones de patrón, ya que no se crean instancias de ellos. En su lugar, puede aplicarlos a las formas cuando realiza patrones de trama de línea y de trama de relleno.

Los patrones de gráfico de datos corresponden a los gráficos de datos que aparecen en el panel de tareas Gráficos de datos de la UI de Visio. Un patrón de gráfico de datos consiste en uno o varios elementos gráficos. Los elementos gráficos son formas de Visio diseñadas como componentes visuales listos para usar que puede asociar con los datos de formas para mostrar los datos gráficamente, basándose en las reglas que defina y en una posición relativa a la forma que haya especificado.

Visio proporciona los siguientes tipos de elementos gráficos:

  • Texto Muestra los datos como texto en una llamada, en una posición especificada en relación con la forma.
  • Color por valor Cambia el color de la forma en función de una comparación entre los datos de la forma y un valor o intervalo de valores determinados.
  • Barra de datos Usa gráficos de barras y gráficos para mostrar datos, en una posición especificada en relación con la forma.
  • Conjunto de iconos Muestra uno de un conjunto de iconos que representa un valor de datos o una condición, en una posición especificada en relación con la forma.

Visio ofrece diversos gráficos de datos estándar que ya incluyen elementos gráficos. Si desea aplicar a las formas un gráfico de datos con una combinación de elementos gráficos diferente, puede crear un gráfico de datos personalizado. Le recomendamos que utilice la UI de Visio para crear un gráfico de datos y le agregue elementos gráficos.

Para crear gráficos de datos en la interfaz de usuario

  1. En el fichaDatos, haga clic en Gráficos de datos.
  2. Haga clic en Crear nuevo gráfico de datosy, a continuación, en el cuadro de diálogo Nuevo gráfico de datos, haga clic en Nuevo elemento.
  3. Personalice el elemento en el cuadro de diálogo que se abre y utilice luego el mismo método para agregar elementos personalizados.

También puede crear patrones de gráficos de datos e incluir en ellos elementos gráficos existentes mediante programación. No se pueden crear elementos gráficos mediante programación, pero sí se puede personalizar el funcionamiento de los gráficos de datos existentes. Además, puede utilizar código para cambiar el funcionamiento y la posición de los elementos gráficos, así como las reglas, denominadas expresiones, que definen cómo muestra los datos cada elemento gráfico. Las expresiones pueden ser fórmulas ShapeSheet o cualquier otra expresión ShapeSheet legal o etiquetas de datos de formas (personalizar propiedad). Para establecer una expresión que sea una etiqueta de datos de forma, debe incluir la etiqueta entre llaves ({}) y, a continuación, pasarla como el segundo parámetro ( Expression) del método GraphicItem.SetExpression .

Una vez que cree un gráfico de datos con una combinación de elementos gráficos personalizada y que defina el comportamiento de esos elementos gráficos, puede aplicar el gráfico de datos a las formas vinculadas a los datos mediante programación.

Objetos y miembros de gráficos de datos

Además de los objetos Master de tipo visTypeDataGraphic descritos en la sección anterior, Visio proporciona los siguientes objetos y sus miembros asociados en la API de gráficos de datos:

Además de estos objetos y sus miembros, que están específicamente relacionados con los gráficos de datos, hay varios miembros de otros objetos de Visio más convencionales que forman parte de la API de gráficos de datos. Por ejemplo, las propiedades Shape.DataGraphic y Selection.DataGraphic permiten aplicar gráficos de datos a formas y selecciones respectivamente. La propiedad Shape.IsDataGraphicCallout de solo lectura indica si una forma específica funciona como un elemento gráfico de datos en el dibujo.

Aplicar gráficos de datos a las formas vinculadas a los datos

En el ejemplo siguiente se muestra cómo usar la propiedad Selection.DataGraphic para aplicar un gráfico de datos personalizados existente que se crea en la interfaz de usuario a una selección de formas del dibujo. Para que este código funcione, el gráfico de datos personalizados existente debe denominarse "MyCustomDataGraphic". Como alternativa, puede sustituir el nombre de un gráfico de datos existente en el dibujo por "MyCustomDataGraphic" en el código.

Public Sub ApplyDataGraphic() 
    Dim vsoSelection As Visio.Selection 
    ActiveWindow.SelectAll 
    Set vsoSelection = ActiveWindow.Selection 
    Set vsoSelection.DataGraphic = ActiveDocument.Masters("MyCustomDataGraphic") 
End Sub

Personalizar el comportamiento de los patrones de gráfico de datos

Use las propiedades Master.DataGraphicHidden y Master.DataGraphicHidesText para personalizar determinados aspectos del comportamiento de los patrones de gráficos de datos.

La propiedad DataGraphicHidden determina si un patrón de gráfico de datos aparece en la galería Gráficos de datos de la UI de Visio. Cuando establece el valor de esta propiedad en True para un determinado patrón, dicho patrón no aparece en la lista de gráficos de datos de la galería. El valor predeterminado de la propiedad es False.

La propiedad DataGraphicsHidesText determina si la aplicación de un patrón de gráfico de datos oculta el texto de la forma a la cual se aplica (la forma principal en caso de tratarse de un grupo de formas). El valor predeterminado de esta propiedad también es False.

La propiedad GraphicItem.UseDataGraphicPosition determina si se debe usar la posición de llamada predeterminada actual para los elementos gráficos del patrón de gráficos de datos a cuya colección GraphicItems pertenece un elemento gráfico. La posición de llamada predeterminada para los elementos gráficos de la colección GraphicItems de un objeto Master de tipo visTypeDataGraphic se especifica mediante la configuración de las propiedades Master.DataGraphicVerticalPosition y Master.DataGraphicHorizontalPosition . Si UseDataGraphicPosition es True, el elemento gráfico se posiciona de acuerdo con la configuración predeterminada. Si UseDataGraphicPosition es False, su posición viene determinada por la configuración de las propiedades Graphic Item.VerticalPosition y GraphicItem.HorizontalPosition .

Además, si los valores de las propiedades HorizontalPosition y VerticalPosition de un elemento gráfico son iguales a los valores de las propiedades DataGraphicHorizontalPosition y DataGraphicVerticalPosition, el valor de la propiedad UseDataGraphicPosition para ese elemento gráfico se establece automáticamente en True.

Observe, no obstante, que puede volver a colocar manualmente un gráfico de datos que se ha aplicado a una forma utilizando el controlador de la forma de dicho gráfico de datos. La posición establecida de este modo prevalecerá sobre la posición especificada mediante la configuración de las propiedades.

La propiedad Master.DataGraphicShowBorder determina si se muestra un borde alrededor de elementos gráficos que se encuentran en posiciones predeterminadas en relación con la forma a la que se aplica un gráfico de datos. De manera predeterminada, el borde está oculto.

Ensamblar gráficos de datos mediante programación

El ejemplo siguiente muestra cómo crear un patrón de gráfico de datos, cómo agregarle un elemento gráfico existente y cómo modificar el elemento gráfico. En este ejemplo se utiliza el método Masters.AddEx para agregar un nuevo patrón de gráfico de datos a la colección Masters del documento actual.

A continuación, se usa el método Master.Open para obtener una copia de un patrón de gráfico de datos existente para modificarlo. Para obtener más información sobre las razones por las que es necesario modificar una copia de un patrón en vez de modificar el propio patrón, vea el método Open. A continuación, usa el método GraphicItems.AddCopy para agregar una copia de un elemento gráfico existente a la colección GraphicItems del nuevo patrón y el método GraphicItem.SetExpression para modificar el campo de datos que representa el elemento gráfico. También establece la propiedad GraphicItem.PositionHorizontal para modificar la posición horizontal del elemento gráfico relativa a la forma a la cual se aplica.

Finalmente, se establece la propiedad Master.DataGraphicHidesText en True para ocultar el texto de la forma y se cierra la copia del patrón, que aplica los cambios a las formas existentes a las cuales se aplica este patrón de gráfico de datos. También se puede aplicar el nuevo patrón de gráfico de datos a otras formas adicionales.

Public Sub AddNewDataGraphicMaster() 
 
    Dim vsoMaster As Visio.Master 
    Dim vsoMasterCopy As Visio.Master 
    Dim vsoMaster_Old As Visio.Master 
    Dim vsoGraphicItem As GraphicItem 
    Dim vsoGraphicItem_Old As Visio.GraphicItem 
 
    Set vsoMaster = ActiveDocument.Masters.AddEx(visTypeDataGraphic) 
    Set vsoMasterCopy = vsoMaster.Open 
    Set vsoMaster_Old = ActiveDocument.Masters("old_master_name") 
    Set vsoGraphicItem_Old = vsoMaster_Old.GraphicItems(1) 
    Set vsoGraphicItem = vsoMasterCopy.GraphicItems.AddCopy(vsoGraphicItem_Old) 
 
    vsoGraphicItem.SetExpression visGraphicExpression, "new_data_field_name" 
    vsoGraphicItem.PositionHorizontal = visGraphicLeft 
    vsoMasterCopy.DataGraphicHidesText = True; 
    vsoMasterCopy.Close 
 
End Sub

El ejemplo de código anterior supone que sabe el nombre del patrón de gráfico de datos existente que contiene uno o varios elementos gráficos que desea agregar al nuevo patrón, así como los identificadores de los elementos gráficos que desea agregar al patrón. Puede determinar el nombre de un patrón de gráfico de datos existente moviendo el mouse por encima del patrón en el panel de tareas Gráficos de datos. También puede determinar los nombres e identificadores recorriendo en iteración la colección Masters del documento actual, como se muestra en el código siguiente.

For intCounter = 1 To ActiveDocument.Masters.Count 
        If ActiveDocument.Masters(intCounter).Type = visTypeDataGraphic Then 
            Debug.Print ActiveDocument.Masters(intCounter).Name, ActiveDocument.Masters(intCounter).ID 
        End If 
    Next

De forma similar, puede recorrer en iteración la colección GraphicItems de un patrón para determinar los valores de las propiedades ID y Tag de un elemento gráfico existente, como se muestra en el ejemplo siguiente. La propiedad Tag es una cadena que Visio no utiliza. Está vacío de forma predeterminada. No obstante, se puede establecer su valor para facilitar la identificación de cada elemento gráfico mediante programación.

For intCounter = 1 To (vsoMaster_Old.GraphicItems.Count) 
        Debug.Print vsoMaster_Old.GraphicItems(intCounter).ID, oldMaster.GraphicItems(intCounter).Tag 
    Next

Para ver un ejemplo de código que muestra cómo personalizar los gráficos de datos mediante programación, descargue el SDK de Visio y consulte la biblioteca de ejemplos de código.

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.