【发布时间】:2014-02-09 16:30:59
【问题描述】:
我需要一个从 VISIO 文档到 WCF 服务的连接。
我发现以下非常有用的教程:
How do I call WCF client from Excel 2003 VBA?
http://www.codeproject.com/Articles/662009/Streaming-realtime-data-to-Excel
我在使用 C# 创建 WCF 服务和客户端方面拥有丰富的经验 - 但在 VBA/VISIO-Programming 中没有。第一个链接有助于将 VBA 客户端连接到 WCF 服务并调用一些方法。这很完美。我们有一个 VISIO 形状,它充当按钮并调用 WCF 服务的方法并显示结果。我们知道如何调用方法和显示值。可以单击一个按钮,向服务器执行请求并获得一些结果。
问题是:如何在没有用户点击按钮的情况下收集结果?
VBA 不支持定期从服务器收集数据的后台操作。
第二篇文章介绍了如何使用 EXCEL-DNA 将数据推送到 EXCEL。我找不到任何信息这是否也适用于 VISIO。 EXCEL-DNA 将创建一个 *.XLL 文件,它是 EXCEL 的插件,我认为它不适用于 VISIO。
是否有任何解决方案可以使用 ServiceCallback 将 VISIO 客户端连接到 WCF/C# 服务?
【问题讨论】:
-
不,没有办法做到这一点
-
我真诚地希望你是错的。
-
您使用的是什么版本的 Visio?因为有多种方法可以将 Visio 连接到外部数据源,但仅适用于专业版/高级版。
-
好主意。我们使用的是 VISIO 2010 Standard :-( 而且我们更喜欢只使用查看器。
-
在这种情况下,可以将查看器包装在应用程序中,并使用 COM api 来处理带有数据的形状。