首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VSTO与.XLL的通信

VSTO与.XLL的通信
EN

Stack Overflow用户
提问于 2016-07-28 10:20:42
回答 2查看 758关注 0票数 0

在Visual中,我有一个解决方案。在这个解决方案中,我有两个项目。一个是VSTO,这样我们就可以为Excel制作一个插件。另一个项目是创建一个.xll文件,以便我们可以拥有自定义函数。

VSTO帮助我们在excel上创建一个登录系统,以便他们能够完成某些事情。

但是,由于我们只希望我们的用户能够使用我们的自定义函数,他们必须登录。我认为这两个项目不能直接通信,所以.xll加载项不会知道用户是否登录。

这两个项目有沟通的地方吗?也许是通过一个中间人物,比如一个带有静态变量的类?

编辑:

更多信息:

这两个项目都是用C#代码编写的。我能够通过使用.xll文件对ExcelDNA文件执行此操作。

因此,如果有任何方法,我可以创建一个C#类,它可以在两个项目之间协调或共享数据,这将是非常棒的。因为登录数据不是我们想要共享的唯一东西。

我希望在这个类中会有一个静态的布尔变量来保存用户是否登录。所以VSTO可以设置布尔值,.xll可以得到它。

EN

回答 2

Stack Overflow用户

发布于 2016-07-29 07:42:46

您可以将一个隐藏函数ExcelFunction(IsHidden=true)添加到.xll中,您可以从Application.Run外接程序中调用该函数。

票数 1
EN

Stack Overflow用户

发布于 2016-07-28 10:35:19

我会使用一个许可系统,让用户验证一个许可密钥。此过程可以在VSTO中进行。然后我会用两张支票:

  1. 如果在VSTO中验证了许可证密钥,那么就加载xll,否则不要加载它。
  2. 在xll中,通过使用相对路径,我将第二次定位并检查许可密钥(以防止用户直接加载xll)。

它只需要能够检查C# (VSTO)和C (Xll)中的许可证密钥,即有一个用两种语言实现的验证密钥算法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38633586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档