Excel Office スクリプト セルのコピー/ペースト
Office スクリプトにおけるセルコピー/ペースト方法を紹介します。
使い方
スクリプトの記録を使うとアクティブシートを対象にしますが、
起動する場所によって挙動が変わってしまうため、
シート名を指定しての操作を推奨します。(赤字は可変部分)
ペースト先のセル範囲.copyFrom(コピー元のセル範囲,コピー対象,空白セルを無視,行列の入替)
パラメータのコピー元のセル範囲以外は省略可能です。
ペースト先はセル範囲ですが、単独セルでも構いません。
ペースト可能か不可能かはExcelのコピー&ペーストと同様のルールです。
次の例は全てTestシートのE5セルに対してA1:A5セルの内容をすべてコピーする例です。
function main(workbook: ExcelScript.Workbook) {
workbook.getWorksheet("Test").getRange("E5").copyFrom(
workbook.getWorksheet("Test").getRange("A1:A5")
);
}
パラメータ
コピー元のセル範囲(sourceRange)
copyFromメソッドの最初のパラメータで省略不可です。
コピー元のセル範囲のアドレスを指定します。
コピー対象(copyType)
copyFromメソッドの二番目のパラメータで省略可能です。
次のようにコピー対象を指定します。
設定値 | 説明 |
---|---|
ExcelScript.RangeCopyType.all | 通常の貼り付けです。 省略時はこの設定です。 |
ExcelScript.RangeCopyType.formats | 書式のみ貼り付けます。 |
ExcelScript.RangeCopyType.formulas | 数式のみ貼り付けます。 |
ExcelScript.RangeCopyType.values | 値のみ貼り付けます。 |
空白セルを無視(skipBlanks)
copyFromメソッドの三番目のパラメータで省略可能です。
trueを指定するとコピー元のセルに値がなければ無視します。
(書式だけがある場合、それも無視します)
falseでは通常の貼り付けが行われます。省略するとfalseです。
例えばコピー元のセルが空白で、コピー先のセルに値がある場合、falseであれば空白で上書きし、trueであればコピー先の値が、そのまま残ります。
行列の入替(transpose)
copyFromメソッドの四番目のパラメータで省略可能です。
trueを指定すると行列を入れ替えます。
falseでは通常の貼り付けが行われます。省略するとfalseです。
Office スクリプトを効果的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り700円またはKindle Unlimited (読み放題) で提供中です。
体系的に学びたい方は是非ご検討ください。
アップデートなどの更新事項があれば随時反映しています。
なお購入後に最新版をダウンロードするには
Amazonへの問い合わせが必要です。