【发布时间】:2017-05-29 19:43:42
【问题描述】:
很抱歉,我根本不知道这里的术语。我不是在寻找一个完整的解决方案,只是在可能的情况下帮助了解要搜索的技术或教程。
我有一个 .NET 应用程序,我想授予 VBA 访问当前正在运行的应用程序实例的权限。换句话说,我想创建对我的应用程序的类似访问,就像 Microsoft 对正在运行的 Office Word 或 Excel 实例所做的那样。
我可以创建 VBA 可以使用的 COM 可见 .dll,但现在我希望它使用我当前正在运行的应用程序。
【问题讨论】:
-
因为 VBA 不会成为编写此代码的内容。它将使用 .NET 编写,而我的首选是 VB.NET。我只是希望它 COM 可见,以便 VBA 可以使用它。
-
我认为您的问题术语是如何为我的应用程序开发 IDE(如 vba 具有 vbe)。在谷歌上搜索,一无所获,并为该问题投票。我建议您添加更多标签(vb.net 标签 [遗憾] 没有太多浏览量)
-
您建议使用哪些标签?我不确定我是否要创建一个 IDE。我想我想要的是向 ROT 注册我的应用程序的一个正在运行的实例,以便我可以“获取一个活动对象”我认为这被称为 moniker。
-
似乎更像绰号,我建议添加c#,vba标签。
-
@darbid Ohhh gotcha。我之前也遇到过同样的问题,但是我不知道如何通过 COM 访问已经运行的应用程序;我什至不确定这是否可能,因为如果 COM 任何应用程序都可以连接到任何 COM 对象,这可能是一个巨大的安全漏洞。相反,我编写了一个基于套接字的通信协议。我会在本地运行一个服务器进程;每当应用程序启动时,它都会登录到本地服务器。然后,您可以编写一个 COM 可访问的 .NET 客户端。然后,在 VBA 中,您可以使用 COM 创建一个连接到服务器的新客户端,并通过它连接到您的应用程序。