word 下如果让光标移动到最末尾,并连续进行插入表格/文字操作?

阅读次数 142

尝试用这个方法没有效果,

// 设置光标到最后且返回最后的位置
	async function setPointToEnd() {
		const app = office.value.Application
		// 获取选中区域
		const DocumentRange = await app.ActiveDocument.GetDocumentRange()
		// 获取末尾
		const end = await DocumentRange.End
		// 移动光标
		await app.ActiveDocument.Range.SetRange(end, end)
		await app.ActiveDocument.ActiveWindow.Selection.GoTo(
			app.Enum.WdGoToItem.wdGoToPage,
			app.Enum.WdGoToDirection.wdGoToAbsolute,
			99999999
		)
		debugger
		return end
	}

这个是插入相关部分代码

const operationStart = await setPointToEnd()

		try {
			let currRangeStart = operationStart
			// 获取所有表格
			const tables = await app.ActiveDocument.Tables
			for await (const config of configs) {
				let currRange = await app.ActiveDocument.Range.SetRange(
					currRangeStart,
					currRangeStart
				)
				currRange.Text = `\n产品名称:${config.dataInfo.packageDesc}\n产品介绍:${config.dataInfo.packageTip}\n\n`

				// 插入表格
				const table = await tables.Add(
					app.ActiveDocument.ActiveWindow.Selection.Range, // 位置信息
					config.rows, // 新增表格的行数
					config.columns, // 新增表格的列数
					1, // 启用自动调整功能
					1 // 根据表格中包含的内容自动调整表格的大小
				)
				
			}
		} catch (e: any) {
			throw new Error(e)
		}
1 Answers

你好,连续插入文本或者表格不建议采用上述方式,我们这边推荐使用PasteHtml()接口进行批量插入。 示例代码如下: image.png

清空的API是哪个

为啥不能连续插入呢? 现在连续插入会出现找不到光标位置, 插入位置错乱