Excel VSTO加载项VB.net用户控件
在VB.net中编码 自定义用户控件+互操作-Excel加载项 我一直在尝试为几个表单复制一个参照编辑框 (参照编辑:控件以选择输入框中的范围) 我会使用inputbox,但不实用,因为我只想使用一种形式,大约15种 我成功地将自定义控件添加到表单中,并尝试了按钮的行为,但在尝试将其绑定到excel时,我感到惊讶!我得到System.NullReferenceException:“referencea objeto no establecida como instancea de un objeto.”引用活动工作簿 看起来像Excel。应用程序实际上不适用于用户控件Excel VSTO加载项VB.net用户控件,excel,vb.net,user-controls,vsto,Excel,Vb.net,User Controls,Vsto,在VB.net中编码 自定义用户控件+互操作-Excel加载项 我一直在尝试为几个表单复制一个参照编辑框 (参照编辑:控件以选择输入框中的范围) 我会使用inputbox,但不实用,因为我只想使用一种形式,大约15种 我成功地将自定义控件添加到表单中,并尝试了按钮的行为,但在尝试将其绑定到excel时,我感到惊讶!我得到System.NullReferenceException:“referencea objeto no establecida como instancea de un obje
_xlapp = New Excel.Application
Xlwb = _xlapp.ActiveWorkbook 'Fires the Exception
XlAsh = Xlwb.ActiveSheet
我试着通过marshall找到目标
Dim _xlapp=Excel.Application
_xlapp=ctype(GetObject("Excel.Application"),Excel.Application)
Xlwb = _xlapp.ActiveWorkbook
XlAsh = Xlwb.ActiveSheet
而且是一样的
我还尝试删除Usercontrol项目中的refereces(尝试过),以便它可能绑定到Addin活动实例
我不太确定互操作在控制级别的行为
有什么想法吗?您不需要创建excel应用程序的新实例,因为您已经有了一个实例,加载项正在运行。您需要使用
Dim xlApp As Excel.Application=Globals.ThisAddIn.Application
相反。
这将获取加载加载项的应用程序对象,您将能够获取它的所有方法和属性(如
xlApp.ActiveSheet
或xlApp.ActiveWorkbook
)。没有活动工作簿。你能写下如果你这样做得到的结果吗?另外,如果您想确保存在活动工作簿,请执行应用程序工作簿(1)。激活如果它有效,我必须将其包括在解决方案中,但它完成了建议!!!!!谢谢!!!