我需要在工作表中添加一个滚动条,并使用Microsoft.Office.Interop.Excel库和C#.NET将单元格链接到它。
对应的VBA代码如下:
ActiveSheet.ScrollBars.Add(545.25, 172.5, 398.25, 24.75).Select
With Selection
.Value = 0
.Min = 0
.Max = 100
.SmallChange = 1
.LargeChange = 10
.LinkedCell = "$A$1"
.Display3DShading = True
End With
我尝试了下面的代码,它添加了Scrollbar但没有按预期工作,也无法将单元格链接到它。
oSheet.Shapes.AddOLEObject("Forms.ScrollBar.1", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 545.25, 172.5, 398.25, 24.75);
我的C#.NET代码将滚动条添加为Excel的对象,我需要它作为控件。它似乎有所不同。
使用我的C#.NET代码的实际结果如下图所示
但预期结果如下图所示:
答案 0 :(得分:0)
我找到了解决方案Here。 是的,之前我正在添加ActiveX对象代替Control。以下代码工作正常。
using Excel = Microsoft.Office.Interop.Excel;
:
:
Excel.ControlFormat Scrollbar = oSheet.Shapes.AddFormControl(Excel.XlFormControl.xlScrollBar, 545, 172, 398, 24).ControlFormat;
Scrollbar.Value = 0;
Scrollbar.Min = 0;
Scrollbar.Max=100;
Scrollbar.SmallChange = 1;
Scrollbar.LargeChange = 10;
Scrollbar.LinkedCell = "$A$1";