【发布时间】:2015-07-30 06:47:39
【问题描述】:
我正在使用 VSTO(VB.NET 编程)构建一个 excel 应用程序。我需要在运行时将组合框添加到工作表中,但是此操作花费的时间太长。我正在添加大约 100~500 个组合。
我正在做这样的事情
For Each cell_address In my_cells_address_list
Dim rng = Me.sheet.Range(cell_address)
Me.sheet.Controls.AddControl(New ComboBox(), rng, "MyApp_Combo_" & rng.Address(0, 0))
Next
为了让它更快,我在添加组合框之前这样做(如下)
Me.sheet.Application.Calculation = Excel.XlCalculation.xlCalculationManual
Me.sheet.Application.ScreenUpdating = False
Me.sheet.Application.EnableEvents = False
但是这个命令并没有提高我的表现。我认为当添加组合时,工作表受到保护并且用户无法触发excel的任何基本功能是相关的。
使用组合,滚动工作表的性能也非常低......
有一些解决方法可以让它更快吗?
【问题讨论】:
标签: excel performance vsto controls worksheet