C++でActiveXコンボボックスコントロールを更新する

可能な使用シナリオ

Aspose.Cellsを使用してActiveXコンボボックスコントロールの値を読み書きできます。ActiveXコントロールには Shape.ActiveXControl プロパティを介してアクセスし、そのタイプを ActiveXControl.GetType() プロパティで確認してください。これは ControlType.ComboBox の値を返すはずです。その後、ComboBoxActiveXControl オブジェクトにキャストして、そのさまざまなプロパティを読み書きします。

以下のサンプルコードで使用されるサンプルExcelファイルをダウンロードしてください。

ActiveX ComboBoxコントロールを更新

以下のスクリーンショットは、サンプルExcelファイルに対するサンプルコードの効果を示しています。見るとおり、ActiveX ComboBoxの値が"これはコンボボックスコントロールです"に更新されています。

todo:image_alt_text

サンプルコード

次のサンプルコードでは、サンプルExcelファイル内のActiveX ComboBoxコントロールの値を更新します。

#include <iostream>
#include "Aspose.Cells.h"

using namespace Aspose::Cells;
using namespace Aspose::Cells::Drawing;
using namespace Aspose::Cells::Drawing::ActiveXControls;

int main()
{
    Aspose::Cells::Startup();

    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    Workbook wb(srcDir + u"SourceFile.xlsx");

    Shape shape = wb.GetWorksheets().Get(0).GetShapes().Get(0);

    ActiveXControl c = shape.GetActiveXControl();

    if (c.GetType() == ControlType::ComboBox)
    {
        ComboBoxActiveXControl comboBoxActiveX = static_cast<ComboBoxActiveXControl>(c);
        comboBoxActiveX.SetValue(u"This is combo box control with updated value.");
    }

    wb.Save(outDir + u"OutputFile_out.xlsx");

    std::cout << "Workbook saved successfully with updated ComboBox value!" << std::endl;

    Aspose::Cells::Cleanup();
}