2013-03-12 41 views
1

我需要使用Microsoft.Office.Interop.Excel庫和C#.NET將滾動條添加到工作表並將其鏈接到它。C#.NET:將滾動條添加到Excel工作表

把對應的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代碼

實際結果如下

Actual Result using my C# code

附加爲圖像,但預期的結果是連接如下圖像:

Expected Result

回答

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";