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

私はここで解決策を見つけました。はい、以前はControlの代わりに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 に答える