1

我需要使用 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

我尝试了下面的代码,它添加了滚动条,但没有按预期工作,也无法将单元格链接到它。

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 代码的实际结果如下图所示

使用我的 C# 代码的实际结果

但预期结果如下图所示:

预期结果

4

1 回答 1

0

我在这里找到了解决方案。是的,早些时候我添加了 ActiveX 对象来代替控件。下面的代码工作正常。

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";
于 2013-03-12T09:04:59.553 回答