SetColumn メソッド (Document オブジェクト)

CSV モードで指定する列に文字列を設定します。

[JavaScript]

document.SetColumn( iColumn, strInsert, strDelimiter, flags, yTop, yLines );

[VBScript]

document.SetColumn( iColumn, strInsert, strDelimiter, flags, yTop, yLines )

パラメータ

iColumn

列のインデックスを指定します。

strInsert

設定する文字列を指定します。文字列は、strDelimiter で指定される区切り文字で区切ることができます。

strDelimiter

strInsert で指定された文字列を区切る区切り文字列を指定します。これが空の場合、列のすべてのセルで同じ文字列が使用されます。

flags

次のいずれかの値を指定します。

eeAutoQuote

文字列に区切り文字、改行、引用符が含まれていないかを確認し、必要なら自動的にエスケープを行い、引用符を追加します。

eeDontQuote

上の処理を行いません。

eeAlwaysQuote

常に引用符を追加します。

yTop

設定する最初の行の行番号を指定します。0 または省略すると、最初の行を指定します。

yLines

行数を制限として指定します。0 または省略すると、制限は指定されません。

次の例は、CSV文書の3列目の左側に空の列を挿入し、各行毎に、1列目と2列目を結合して3列目として設定します。このマクロを実行する前に、CSV文書がアクティブになっている必要があります。区切り文字として、改行文字 \n, Chr(10) を使用しているため、各セルに改行文字が含まれていないと仮定しています。

[JavaScript]

document.InsertColumn( 3 );
nLines = document.GetLines() - 1;
s3 = "";
for( y = 1; y <= nLines; y++ ) {
	if( y != 1 ) {
		s3 += "\n";
	}
	s1 = document.GetCell( y, 1, eeCellIncludeNone );
	s2 = document.GetCell( y, 2, eeCellIncludeNone );
	s3 += s1 + " " + s2;
}
document.SetColumn( 3, s3, "\n", eeAutoQuote );

[VBScript]

document.InsertColumn 3
nLines = document.GetLines() - 1
s3 = ""
For y = 1 To nLines
	If y <> 1 Then s3 = s3 + Chr(10)
	s1 = document.GetCell( y, 1, eeCellIncludeNone )
	s2 = document.GetCell( y, 2, eeCellIncludeNone )
	s3 = s3 + s1 + " " + s2
Next
document.SetColumn 3, s3, Chr(10), eeAutoQuote

バージョン

EmEditor Professional Version 16.7 以上で利用できます。