wcellfmt

 

概要

ツリーでセルプロパティを取得または設定

追加の情報

コマンドラインでの使用法

1. wcellFmt tr:=cfmt; cfmt.=;

2. wcellFmt tr:=cfmt; cfmt.FillColor=2; cfmt.Size=18; wcellFmt execute:=1 tr:=cfmt;

変数

表示名 変数名 I/O

データ型
デフォルト値 説明
入力範囲 irng

入力

Range

<active>

入力範囲を指定します。

実行モード execute

入力

int

get

セルプロパティを取得または設定
オプションリスト

  • get:フォーマットツリーを取得
    セルプロパティを取得
  • set:修正済みノードのフォーマットを設定
    修正済みノードのフォーマットを設定
  • all全ノードのフォーマットを設定
    全ノードのフォーマットを設定
GUIツリー tr

入力/出力

TreeNode

 

セルプロパティツリー

説明

このXファンクションはワークシートプロパティツリーtr(exectute:=0)を取得するか、ワークシートプロパティツリーtr(exectute:=1)を設定するために使用します。

TextControlセクションのXファンクションwpropertiesを参照してください。

サンプル

  //選択されたセルの塗り色を緑に設定
  Tree cfmt;
  wcellFmt tr:=cfmt;//取得のデフォルト
  cfmt.FillColor=2;
  wcellFmt exec:=set tr:=cfmt;
  //セルの塗り色を事前選択なしで緑にする  
  Tree cfmt;
  wcellFmt 2[3:5] get cfmt;
  cfmt.FillColor=2;
  wcellFmt 2[3:5] set cfmt;
  //選択されたセルからツリーを出力
  Tree cfmt;
  wcellFmt tr:=cfmt;
  cfmt.=;
// 3つのスペクトルをインポートしてワークシートのYデータのための10レベルのヒートマップを作成

// Originサンプルフォルダから3つのデータファイルをインポート
newbook;
impASC fname:="C:\Program Files\OriginLab\Origin2018\Samples\Batch Processing\T275K.csv
C:\Program Files\OriginLab\Origin2018\Samples\Batch Processing\T305K.csv
C:\Program Files\OriginLab\Origin2018\Samples\Batch Processing\T335K.csv" options.ImpMode:=1;

// 余分なX列を削除
for (int ii = wks.ncols -1; ii > 2; ii -= 2)
        delete wcol(ii);

// 10進数の色のStringArrayを作成
string strColors$ = "#A000C8|#6E00DC|#1E3CFF|#00A0FF|#00C8C8|#00DC00|#E6DC32|#E6AF2D|#FA3C3C|#F00082";
StringArray sa;
sa.Append(strColors$, |);

// 列1、行1のセル形式をTree変数に取得
Tree trFmt;
wcellFmt irng:=col(1)[1] exec:=get tr:=trFmt;

// 書式ツリーからオリジナルのフォントサイズを保存
double dFontSize = trFmt.Size;

// Y列の全ての値の最小、最大値を取得
stats ix:=(2:end);
double dMin = stats.min;
double dMax = stats.max;

// 全Y列でループ
int nCols = wks.ncols;
for (int ii = 2; ii <= nCols; ii++)
{
        // 現在の列の範囲を取得し、列が空の場合はスキップ
        range rng = wcol(ii);
        if (!rng.GetSize())
                continue;
        // 現在の列の値の一時データセットを作成
        // シート内の全セルの最小、最大値で(1-10)の規格化
        dataset ds = round(1 + (rng - dMin) * (10 - 1) / (dMax - dMin));

        // 現在の列の全行でループ
        int nSize = ds.GetSize();
        for(jj = 1; jj <= nSize; jj++)
        {
                // 正規化されたセルの値に基づいてツリーをフォーマットするために
                // 修正されたフォントサイズを適用
                trFmt.Size = dFontSize + ds[jj];
                // 正規化されたセルの値に基づいてツリーをフォーマットするために
                // 16進数の背景色を適用
                string str$ = sa.GetAt(ds[jj])$;
                trFmt.FillColor = color("%(str$)");
                // セルに書式ツリーを適用
                wcellFmt irng:=rng[jj] exec:=set tr:=trFmt;
        }
}
//列と行のサイズに基づいてワークシートのサイズを変更
wautosize hw:=b;

関連 X ファンクション