SGLXRequest()

【お知らせ】 受信に失敗する場合が見受けられます。現在、対応中です。(2010/02/16)
対応済み。(2010/04/01)

SGLXSend は、Excel からデータを受信します。受信したデータを取得するためには、SGLXGetLastResult() 関数を呼びます。SGLXGetLastResult() 関数は、最後に通信した結果を返します。

/**
 * Excel のセルから値を読み込む
 * @param cell (char*) セルの座標
 */
void SGLXRequest(char* cell);

SGLXRequest() 関数で読み込んだ値を取得し、操作する方法は2種類あります。 1つ目は、SGLXGetLastResult() で直接取得する方法です。 2つ目は、SGLXResponse() 関数で指定したコールバック関数内で操作する方法です。

/**
 * 最新の通信の結果を取得する
 * @param result (char*) 結果
 */
void SGLXGetLastResult(char* result);

引数の result に、通信の結果が格納されます。SGLXResponse 関数は以下のように宣言されています。

/**
 * Excel から返信が来た時にコールバックする関数を登録する
 * @param (*res) コールバック関数のポインタ
 */
void SGLXResponse(void (*res)(char* data, char* cell))

引数に char* を2つ取り、返り値が void の関数のポインタを引数に指定すると、その関数は Excel から返信が 来た時に呼ばれるコールバック関数に登録されます。呼ばれた際は、最初の引数の data に読み込んだ値が入っており、 二つ目の引数の cell に読み込んだセルが入っております。

// コールバック関数の設定の例

void response(char* data, char* cell) {
    printf("data : %s\ncell : %s\n", data, cell);
}

// 以下を main 関数内に記述
SGLXInit("C:\\borland\\Source"); // SGLX の初期化
SGLXResponse(response);          // コールバック関数を指定
SGLXRequest("AN5");              // セルの値を読み込む