C++でActiveXコンボボックスコントロールを更新する
可能な使用シナリオ
Aspose.Cellsを使用してActiveXコンボボックスコントロールの値を読み書きできます。ActiveXコントロールには Shape.ActiveXControl プロパティを介してアクセスし、そのタイプを ActiveXControl.GetType() プロパティで確認してください。これは ControlType.ComboBox の値を返すはずです。その後、ComboBoxActiveXControl オブジェクトにキャストして、そのさまざまなプロパティを読み書きします。
以下のサンプルコードで使用されるサンプルExcelファイルをダウンロードしてください。
ActiveX ComboBoxコントロールを更新
以下のスクリーンショットは、サンプルExcelファイルに対するサンプルコードの効果を示しています。見るとおり、ActiveX ComboBoxの値が"これはコンボボックスコントロールです"に更新されています。
![]() |
---|
サンプルコード
次のサンプルコードでは、サンプル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();
}