跳到主要内容

Range

区域对象

表示一个单元格、一行、一列、一个包含单个或若干连续单元格区域的选定单元格范围

属性​

row​

区域的首行行号

语法

range.row

range:区域对象

返回值

row: number

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const row = range.row;
}

column​

区域的首列列号

语法

range.column

range:区域对象

返回值

column: number

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const column = range.column;
}

endRow​

区域的尾行行号

语法

range.endRow

range:区域对象

返回值

row: number

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const row = range.endRow;
}

endColumn​

区域的尾列列号

语法

range.endColumn

range:区域对象

返回值

column: number

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const column = range.endColumn;
}

方法​

getSheet​

获取区域所在工作表

语法

range.getSheet()

range:区域对象

返回值

sheet: Sheet.Sheet

示例

function example(range) {
const sheet = range.getSheet();
}

getCell​

获取区域内特定单元格

语法

range.getCell(row, column)

range:区域对象

参数

属性数据类型必填说明
rownumber是行号,区域内第几行,起始行号为1
columnnumber是列号,区域内第几列,起始列号为1

返回值

cell: Sheet.Range

示例

function example(range) {
const cell = range.getCell(1, 2);
}

getRow​

获取区域首行

语法

range.getRow()

range:区域对象

返回值

row: Sheet.Range

示例

function example(range) {
const row = range.getRow();
}

getColumn​

获取区域首列

语法

range.getColumn()

range:区域对象

返回值

column: Sheet.Range

示例

function example(range) {
const row = range.getColumn();
}

getEndRow​

获取区域尾行

语法

range.getEndRow()

range:区域对象

返回值

row: Sheet.Range

示例

function example(range) {
const row = range.getEndRow();
}

getEndColumn​

获取区域尾列

语法

range.getEndColumn()

range:区域对象

返回值

column: Sheet.Range

示例

function example(range) {
const row = range.getEndColumn();
}

activate​

选中区域

语法

range.activate()

range:区域对象

返回值

无

示例

async function example(range) {
await range.activate();
}

getShowValue​

获取区域左上角单元格显示内容

语法

range.getShowValue()

range:区域对象

返回值

Promise<string | number | boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const cellValue = await range.getShowValue();
}

getShowValues​

获取区域显示内容

语法

range.getShowValues()

range:区域对象

返回值

Promise<string| number | boolean[][]>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const cellValues = await range.getShowValues();
}

getValue​

获取区域左上角单元格内容

语法

range.getValue()

range:区域对象

返回值

Promise<string | number | boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const cellValue = await range.getValue();
}

getValues​

获取区域内容

语法

range.getValues()

range:区域对象

返回值

Promise<string | number | boolean[][]>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const cellValues = await range.getValues();
}

setValue​

设置区域左上角单元格内容

语法

range.setValue(value)

range:区域对象

参数

属性数据类型必填说明
valuenumber | string | boolean是设置的单元格内容

返回值

无

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
await range.setValue(1);
}

setValues​

设置区域内容

语法

range.setValues(values)

range:区域对象

参数

属性数据类型必填说明
valuesstring|number|boolean[][]是设置的区域内容,二维数组

返回值

无

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const rowCount = range.endRow - range.row + 1;
const columnCount = range.endColumn - range.column + 1;
const data = [];
for (let i = 0; i < rowCount; i += 1) {
const row = [];
for (let j = 0; j < columnCount; j += 1) {
row.push(1);
}
data.push(row);
}
await range.setValues(data);
}

getRow​

获取区域开始行

语法

range.getRow()

range:区域对象

返回值

startRow: Sheet.Range

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const startRow = range.getRow();
}

getEndRow​

获取区域结束行

语法

range.getEndRow()

range:区域对象

返回值

endRow: Sheet.Range

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const endRow = range.getEndRow();
}

getColumn​

获取区域开始列

语法

range.getColumn()

range:区域对象

返回值

startColumn: Sheet.Range

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const startColumn = range.getColumn();
}

getEndColumn​

获取区域结束列

语法

range.getEndColumn()

range:区域对象

返回值

endColumn: Sheet.Range

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const endColumn = range.getEndColumn();
}

clearContent​

清空区域内容

语法

range.clearContent()

range:区域对象

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.clearContent();
console.log(success);
}

canEdit​

返回区域是否可编辑

语法

range.canEdit()

range:区域对象

返回值

Promise<boolean>

  • true: 可编辑
  • false: 不可编辑

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const isEditable = await range.canEdit();
}

getBackground​

获取区左上角单元格背景色

语法

range.getBackground()

range:区域对象

返回值

Promise<string>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const bgColor = await range.getBackground();
}

getBackgrounds​

获取区域背景色

语法

range.getBackgrounds()

range:区域对象

返回值

Promise<string[][]>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const bgColors = await range.getBackgrounds();
}

setBackground​

设置区域内背景颜色

语法

range.setBackground(color)

range:区域对象

参数

属性数据类型必填说明
colorstring是设置颜色

返回值

Promise<void>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getRange("C2:D2");
await range.setBackground("#000FFF");
}

getFontColor​

获取区域左上角单元格字体颜色

语法

range.getFontColor()

range:区域对象

返回值

Promise<string>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const color = await range.getFontColor();
}

getFontColors​

获取区域字体颜色

语法

range.getFontColors()

range:区域对象

返回值

Promise<string[][]>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const colors = await range.getFontColors();
}

setFontColor​

设置区域内字体颜色

语法

range.setFontColor(color)

range:区域对象

参数

属性数据类型必填说明
colorstring是设置颜色

返回值

Promise<void>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getRange("C2:D2");
await range.setFontColor("#000FFF");
}

merge​

合并单元格

语法

range.merge()

range:区域对象

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.merge();
console.log(success);
}

mergeAndCenter​

合并后居中

语法

range.mergeAndCenter()

range:区域对象

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.mergeAndCenter();
console.log(success);
}

mergeAcross​

跨列合并

语法

range.mergeAcross()

range:区域对象

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.mergeAcross();
console.log(success);
}

getMergedRanges​

获取区间内的合并单元格

语法

range.getMergedRanges()

range:区域对象

返回值

Promise<Range[]>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const ret = await range.getMergedRanges();
console.log(ret);
}

getHtml​

获取当前范围的HTML格式内容

语法

range.getHtml(dataOnly)

range:区域对象

参数

属性数据类型必填说明
dataOnlyboolean否是否只获取当前范围内数据区域的HTML格式内容,默认为false

返回值

Promise<string>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 获取当前区域
const range = await activeWorksheet.getActiveRange();
// 获取当前区域的HTML格式内容
const htmlStr = await range.getHtml(true);
console.log(htmlStr);
}

setFontFamily​

设置字体

语法

range.setFontFamily(fontFamily)

range:区域对象

参数

属性数据类型必填说明
fontFamilystring是'Arial', 'Calibri', 'Comic Sans MS', 'Courier New', 'Georgia', 'Lucida Sans Unicode', 'Tahoma','Times New Roman', 'Trebuchet MS', 'Verdana', '宋体', '黑体', '微软雅黑', '隶书', '幼圆', '华文细黑', '华文楷体', '华文宋体', '华文新魏', '华文隶书', '等线', '仿宋', '楷体', '方正舒体', '方正姚体',

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setFontFamily('微软雅黑');
console.log(success);
}

setFontSize​

设置字号

语法

range.setFontSize(fontSize)

range:区域对象

参数

属性数据类型必填说明
fontSizenumber是fontSize >= 8 && fontSize <= 72 && fontSize值为0.5的整数倍(单位:磅,pt)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setFontSize(20);
console.log(success);
}

setFontStyle​

设置字体样式

语法

range.setFontStyle(fontStyle)

range:区域对象

参数

属性数据类型必填说明
fontStylestring是'italic', 'bold', 'normal', 'underline', 'strikethrough'

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setFontStyle('italic');
console.log(success);
}

setWrap​

设置自动换行

语法

range.setWrap(isWrapEnabled)

range:区域对象

参数

属性数据类型必填说明
isWrapEnabledboolean是

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setWrap(true);
console.log(success);
}

setAlignment​

设置水平对齐方式

语法

range.setAlignment(alignment)

range:区域对象

参数

属性数据类型必填说明
alignmentstring是'left', 'right', 'center'

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setAlignment('right');
console.log(success);
}

setVerticalAlignment​

设置垂直对齐方式

语法

range.setVerticalAlignment(alignment)

range:区域对象

参数

属性数据类型必填说明
alignmentstring是'top', 'bottom', 'middle'

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setVerticalAlignment('bottom');
console.log(success);
}

setBorder​

设置边框

语法

range.setBorder(top, left, bottom, right, vertical, horizontal, color, style)

range:区域对象

参数

属性数据类型必填说明
topboolean是true for border
leftboolean是同上
bottomboolean是同上
rightboolean是同上
verticalboolean是同上
horizontalboolean是同上
colorstring是css语法中的颜色,例如'#ffffff'或者'white',null for black
styleSheet.BorderStyle是见枚举,边框样式,null for thinsolid

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setBorder(true, true, true, true, true, true, 'red', 'solid');
console.log(success);
}

autoFill​

对指定区域中的单元格执行自动填充

语法

range.autoFill(destination, type)

range:区域对象

参数

属性数据类型必填说明
destinationRange是目标区域。目标区域必须包含源区域
typeXlAutoFillType否填充类型。默认为Excel.XlAutoFillType.xlFillDefault

返回值

Promise<void>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 区域对象
const range = await activeWorksheet.getRange("A1:C1");
// 要填充的区域
const destination = await activeWorksheet.getRange("A1:C10");
// 对指定区域中的单元格执行自动填充
await range.autoFill(destination, Sheet.XlAutoFillType.xlFillDefault);
}

getDataValidation​

获取指定区域的数据验证对象

语法

range.getDataValidation()

range:区域对象

返回值

DataValidation

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 区域对象
const range = await activeWorksheet.getRange("A1:C1");
// 获取数据验证对象
const dataValidation = range.getDataValidation();
}

getAddress​

获取区域的地址字符串

语法

range.getAddress(RowAbsolute, ColumnAbsolute, RelativeTo)

range:区域对象

参数

属性数据类型必填说明
RowAbsoluteboolean否若为 true,行部分以绝对引用形式返回($1),默认为 true
ColumnAbsoluteboolean否若为 true,列部分以绝对引用形式返回($A),默认为 true
RelativeToRange否为 R1C1样式相对引用预留的参数

返回值

Promise<string>,形如 "$A$1:$B$2";整行/整列区域返回 "$1:$1"、"$A:$B" 形式

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getRange("A1:B2");
const address1 = await range.getAddress(); // "$A$1:$B$2"
const address2 = await range.getAddress(false, false); // "A1:B2"
const address3 = await range.getAddress(true, false); // "A$1:B$2"
}