LoginSignup
3
3

More than 5 years have passed since last update.

エクセルVBAのようにエクセルを操るライブラリ

Posted at

エクセルVBAのような操作感

Windowsフォームアプリからエクセルを起動しセルに入力する操作をやってみました。

Visual Studioを使いますが、まずプロジェクトソリューションの参照にCOMの「Microsoft Exel 11.0 Object Library」を追加します。これだけでエクセルを動作させる準備が整います。

エクセルのインスタンス化
Excel::Application^ xls = gcnew Excel::ApplicationClass();
xls->Visible = true;//エクセルの表示/非表示指定。

これで新規にエクセルファイルが作成されました。次に実際データーを入力するスペースとなるワークブックを追加します。

ワークブックを作成
Workbook^ wbook = xls->Workbooks->Add(Type::Missing);

アクティブなワークシートを作成し、その名前を変えてみます。

ワークシート名変更
Worksheet^ wSheet = static_cast<Worksheet^>(xls->ActiveSheet);
wSheet->Name = "Active Sheet 1";

実際に、リストボックスの要素がエクセルに追加されるか試します。
セルに入力するコードは簡単です。

セルに文字を入力する
wSheet->Cells[int row, int col] = "文字";

以上のコードだけでエクセルVBA感覚でエクセルが操作がきました。

これを応用して、フォームのリスボックスからエクセルにデーターをコピーするアプリをつくってみました。エクセルをバックグランド化すればかなり高速に動作するので実用性は高いと感じます。

image

image

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3