跳到主要内容

Range

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: Excel.Sheet

示例

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

getCell

获取区域内特定单元格

语法

range.getCell(row, column)

range:区域对象

参数

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

返回值

cell: Excel.Range

示例

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

getRow

获取区域首行

语法

range.getRow()

range:区域对象

返回值

row: Excel.Range

示例

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

getColumn

获取区域首列

语法

range.getColumn()

range:区域对象

返回值

column: Excel.Range

示例

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

getEndRow

获取区域尾行

语法

range.getEndRow()

range:区域对象

返回值

row: Excel.Range

示例

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

getEndColumn

获取区域尾列

语法

range.getEndColumn()

range:区域对象

返回值

column: Excel.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: Excel.Range

示例

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

getEndRow

获取区域结束行

语法

range.getEndRow()

range:区域对象

返回值

endRow: Excel.Range

示例

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

getColumn

获取区域开始列

语法

range.getColumn()

range:区域对象

返回值

startColumn: Excel.Range

示例

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

getEndColumn

获取区域结束列

语法

range.getEndColumn()

range:区域对象

返回值

endColumn: Excel.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(2, 3, 2, 4);
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(2, 3, 2, 4);
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:区域对象

参数

属性数据类型必填说明
fontSizenumberfontSize >= 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:区域对象

参数

属性数据类型必填说明
topbooleantrue for border
leftboolean同上
bottomboolean同上
rightboolean同上
verticalboolean同上
horizontalboolean同上
colorstringcss语法中的颜色,例如'#ffffff'或者'white',null for black
styleExcel.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(1,1,1,3);
// 要填充的区域
const destination = await activeWorksheet.getRange(1,1,10,3);
// 对指定区域中的单元格执行自动填充
await range.autoFill(destination, Excel.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(1,1,1,3);
// 获取数据验证对象
const dataValidation = range.getDataValidation();
}