【发布时间】:2019-07-02 08:11:12
【问题描述】:
我必须在 VB.NET 中创建一个 excel 文件以通过 excel 加载项进行一些计算(如果您要问,不,在程序本身内重新创建加载项不是一种选择),我已经完成了一些研究,根据 microsoft.docs 网站,我必须使用我的应用程序变量(又名 appXl)并写 appXl.AddIns.Add([filename]),但每次都失败,再次根据 microsoft.docs 我应该打开工作簿。
我尝试使用appXl.AddIns2.Add([filename]),但它也失败了,我尝试了互联网上的各种解决方案,但似乎没有一个有效,我也尝试使用标题或目录,但它不起作用
代码: vb.net
Imports Microsoft.Office.Interop
Private appXl As Excel.Application
Private wbXl As Excel.Workbook
Private shXl As Excel.Worksheet
Private AddinXl As Excel.AddIn
Private dataDirectory As String = (String.Format("{0}\Data\", Environment.CurrentDirectory))
Private Sub Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load
dataDirectory &= "AnimalFeed.xlsx"
appXl = New Excel.Application
wbXl = appXl.Workbooks.Open(dataDirectory)
shXl = wbXl.Worksheets("solver")
AddinXl = appXl.AddIns.Add("wba.xlam")
End Sub
它应该加载插件,然后能够在 vb.net 中使用它的所有功能,但调试停止到 AddinXl = appXl.AddIns.Add("wba.xlam") 行,它只是说 “AddIns 类的添加方法失败” em>。
【问题讨论】:
-
也许您应该指定加载项的完整路径?
-
已经试过了,不行
-
“wba.xlam”是已知 Excel 插件吗?即它在 Excel 的 Adin-In 对话框中列出?
-
如果你的意思是如果我从选项中的 excel 打开它 > 加载项它可以工作,是的,我也尝试使用标题而不是文件名,但我没有运气
-
我的意思是它当前是否列在对话框中(您不必添加它)。列出的加载项需要特殊处理(see this post。您应该将完整路径传递给
Addins.Add方法。一旦最终加载它,您还必须将AddIn.Installed属性设置为True。
标签: excel vb.net excel-addins