Chapter 04. Excelへの書き込み

このチュートリアルは、Excel へ値を書き込む解説を行います。 Excel への値の書き込みは、SGLXInput() 関数を使用します。 このチュートリアルでは、Chapter 02 と同じで、AD7 というセルに値を入力するプログラムを作成します。

1. 準備

サンプルファイル

Chapter 04 で使用するサンプルファイルをご用意致しましたので、ダウンロードして下さい。 Excel ファイルを開きます。開く際に警告が表示された場合は、マクロを有効にする、を選択して下さい。もし、マクロを無効に してしまった場合は、Excel ファイルを一旦閉じ、もう一度開いて今度はマクロを有効にする、を選択して下さい。

Chapter 4 のファイルを開きました

2. 書き込む値

SGLXInput 関数は、以下のように宣言されています。 SGLXInput 関数には、二つの引数が必要です。書き込む値と、セルの座標の二つです。 まず、書き込む値を用意しましょう。

/**
 * Excel のセルに値を入力する
 * @param value (int) 値
 * @param cell (char*) セルの座標
 */
void SGLXInput(int value, char* cell);

/**
 * Excel のセルに値を入力する
 * @param value (double) 値
 * @param cell (char*) セルの座標
 */
void SGLXInput(double value, char* cell);

/**
 * Excel のセルに値を入力する
 * @param value (char*) 値
 * @param cell (char*) セルの座標
 */
void SGLXInput(char* value, char* cell);

Chapter 04 では、Chapter 02と同じ結果を求めるので、書き込む値は同じとします。 書き込む値を変数で宣言・定義します。

int money_value = 5322;

3. セルの座標

書き込むセルの値は、std::string 型で指定します。Chapter 02では、セルのAD7を扱いましたので、 Chapter 04 でも同じようにセルAD7 を扱います。


4. 書き込む

SGLXInput() への引数の指定は以下のようになります。

SGLXInput(money_value, "AD7");

// money_value は 5322 なので、
// 以下と同じです。
SGLXInput(5322, "AD7");

以上です。それではコードの全文を載せます。

// Chapter 04. Excel への書き込み
#include "sfcglx.h"

// 書き込む値を用意する
int money_value = 5322;

void display() {   
    BGColor(200, 200, 200);
    SGBeginEdit();     // 形状の描画の開始.   
    SGEndEdit();       // 形状の描画の終了.   
    SGSwapFrames();    // フレームを入れ替える. 
}

int main(int argc, char** argv) {
    SGInit(argc, argv); // SGL の初期化

    // SGLX の初期化
    SGLXInit("C:\\Users\\Akito\\Documents\\MediaDesign3D\\4");
    
    // 書き込む
    SGLXInput(money_value, "AD7");

    SGOpenWindow(0,0,500,500); // 500x500のウィンドウ
    SGSetDisplay(display); // 描画
    SGCallBack(); // コールバック関数を登録
    return 0; 
}

プログラムを保存、コンパイル、実行し、結果を確認してみて下さい。
お疲れ様でした。