Estoy intentando crear mediante programación una línea de tiempo y marcadores utilizando Visio 2010 COM Interops. Mi código se basa en la publicación de 2 partes del blog de Chris Castillo (Part 1, Part 2), que es el único ejemplo semi-completo que he podido encontrar sobre cómo hacerlo. Sin embargo, su blog (desde 2004) no parece funcionar bien. Los hitos no están realmente conectados a la línea de tiempo, y actualizar su fecha no hace que se muevan al lugar correcto.Cómo coloco programáticamente un Milestone en una línea de tiempo de bloque en Visio
¿Alguna sugerencia o solución?
Imports Microsoft.Office.Interop.Visio
Imports System.Diagnostics.CodeAnalysis
Imports System.Runtime.InteropServices
...
Dim VisioApp As New Application
Dim myDoc As Document = VisioApp.Documents.Add("")
Dim myPage As Page = myDoc.Pages.Item(1)
Dim TimelineStencils As Document =
VisioApp.Documents.Add("Timeline Shapes.vss")
Dim theTimeline As Shape
Dim theMilestone As Shape
VisioApp.AlertResponse = 1
theTimeline = myPage.Drop(
TimelineStencils.Masters.ItemU("Block timeline"), 5.610236, 5.511811)
theTimeline.CellsU("User.visBeginDate").FormulaU = _
VisioApp.ConvertResult(
"1/1/2004", VisUnitCodes.visDate, VisUnitCodes.visInches)
theTimeline.CellsU("User.visEndDate").FormulaU = _
VisioApp.ConvertResult(
"12/31/2004", VisUnitCodes.visDate, VisUnitCodes.visInches)
VisioApp.Addons("ts").Run("/cmd=3")
theMilestone = myPage.Drop(_
TimelineStencils.Masters.ItemU("Line milestone"), _
5.610236, 5.511811)
theMilestone.CellsU("User.visMilestoneDate").FormulaU = _
VisioApp.ConvertResult(
"7/1/2004", VisUnitCodes.visDate, VisUnitCodes.visInches)
VisioApp.AlertResponse = 0
Y para cualquier persona que esté teniendo problemas con todo esto, estas son las instrucciones para activar el Modo de desarrollador, que permite a ShapeSheets http://www.visguy.com/2008/08/04/top-9-reasons-for-turning -on-desarrollador-modo –