我正在将 VSTO 应用程序转换为与 ExcelDNA 兼容的应用程序。然而,主要问题是 ExcelDNA 与 VSTO 相比没有控件对象。
在 VSTO 中:Microsoft.Office.Tools.Excel:可以添加 listObject
Worksheet worksheet = Globals.Factory.GetVstoObject(
Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets[1]);
listObj = worksheet.Controls.AddListObject(cell, "list1");
随后,您可以设置数据源
listObj.DataSource=list;
但是,当我尝试在 ExcelDNA 中使用 Micosoft.Office.Interop.Excel 使用 listObject 执行此操作时。我无法得到想要的结果,listObject 返回了空白数据。
ws=excelApp.ActiveWorkBook.ActiveSheet;
Excel.Range rng=ws.cells[1,1];
//set the datasource
rng.Value2=list;
listObj=this.ListObjects.Add(
Excel.XlListObjectSourceType.xlSrcRange, rng,Missing.Value,
Microsoft.Office.Interop.Excel.XlYesNoGuess.xlNo, Missing.Value);
我不能使用 Globals.Factory... 因为这不是 VSTO 程序。因此,我想出了以下解决方法。有什么我做错了吗?我怀疑这是在 ExcelDNA 中出现问题的数据源。
我能做些什么来解决这个问题?我想如何将 VSTO 程序转换为 ExcelDNA 中的等效程序?