这是我的代码。我认为这应该工作;我保存了wb并尝试使用wb.Application获取Excel应用程序对象。它实际上工作,但XLApp.Intersect失败,出现“类型不匹配”错误。使用Application.Intersect为什么我会得到类型不匹配
Dim wb As Object
Sub First()
Dim XLApp As Object
XLApp = CreateObject("Excel.Application")
wb = myXL.XLApp.Workbooks.Add()
End Sub
Sub Second()
Dim XLApp as object = wb.Application
Dim rg as object = XLApp.Intersect(ws.UsedRange, ws.Columns("B"))
End Sub
是否可以从工作簿中获取Excel应用程序并仍然使用Intersect方法?
我也尝试将XLapp保存到一个全局变量并重新使用它,但那也没有奏效;同样的错误。
我试图避免使用Excel Interop参考来维护与旧版本的Excel的向后兼容性。
MSDN Library _Application.Intersect Method
我发现我的应用对象的类型为:Microsoft.Office.Interop.Excel.ApplicationClass
做问题1:“为什么我会得到类型不匹配?(问题的标题和原始版本;我已经回答了什么)”。问题2:“是否可以从工作簿获取Excel应用程序并仍然使用Intersect方法?”问题3(需要一些帮助来清除你的想法):“我试图避免使用Excel Interop参考来保持与旧版Excel的向后兼容性。”问题4:“下划线的意义是什么?”问题5:“Excel.Application和Excel.ApplicationClass之间的区别” – varocarbas
您可以每次只提问一个问题。请回答这个问题的原始版本(为什么我得到这个错误?)。否则,我会删除我的答案,因为它仅回答了您的一组问题。 – varocarbas
@varocarbas我编辑我的问题,删除其他问题。 –