使用从vb.net传递的数据处理visio形状

时间:2015-06-19 08:02:26

标签: vb.net visio

我有以下代码打开visio,打开visio文件,打印文件然后关闭;一切正常。

但是,现在我的任务是将信息传递到名为“Ticket Task”的visio文档页面,将该信息绑定到某些形状然后打印出来。

我知道这可以用vb6(这就是写过时的代码),但有没有办法在vb.net中做到这一点?

谢谢!

代码:

''Set up the file path
                Dim docPath As String = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments) + "\" + splFileData(0) + "\" + splFileData(1) + ".vsd"
                'Set up the attributes for the opening/printing of the document.
                psi.UseShellExecute = True
                psi.Verb = "print"
                'psi.EnvironmentVariables.Add("Orders", "Hello")

                psi.Arguments = printer
                psi.WindowStyle = ProcessWindowStyle.Hidden

                psi.FileName = docPath
                Console.WriteLine("Printing: " + docPath)
                'Start the process (open visio document, print, close)
                Process.Start(psi)

1 个答案:

答案 0 :(得分:0)

您必须更改打开和打印Visio文档的方式。 This教程展示了如何使用VB.NET处理文档。 打开函数返回 Microsoft.Office.Interop.Visio.Document 类型的对象。您可以使用此对象将信息附加到形状,如here中所述。实际上,VB.NET代码与VB6非常相似。如果希望Visio不可见,可以按如下方式打开文档:

Microsoft.Office.Interop.Visio.InvisibleApp application = new Microsoft.Office.Interop.Visio.InvisibleApp();
application.Visible = false;
Microsoft.Office.Interop.Visio.Document doc = application.Documents.Open...