ツリーでセルプロパティを取得または設定
1. wcellFmt tr:=cfmt; cfmt.=;
2. wcellFmt tr:=cfmt; cfmt.FillColor=2; cfmt.Size=18; wcellFmt execute:=1 tr:=cfmt;
入力
Range
<active>
入力範囲を指定します。
int
get
セルプロパティを取得または設定 オプションリスト
入力/出力
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;