书签赋值 进入在线编辑,然后使用了await app.value.ActiveDocument.SetReadOnly({Value: true})限制文档, 然后再书签赋值的时候打开了编辑限制,同步赋值两边,然后第一个书签赋值的问题是:汉字和英文,数字的字体格式无法统一。没有设置过颜色,但是赋值之后的书签会出现红色字体
const bookmark = await bookmarks.value.Item(name)
const end = await bookmarks.value.Item(name).End;
const start = await bookmarks.value.Item(name).Start;
const font = await app.value.ActiveDocument.Range(start, end).Font
console.log('font', font.Name)
const range = bookmark.Range;
// 获取书签内容
const bookmarkText = await bookmarks.value.GetBookmarkText(name)
console.log('bookmarkText', bookmarkText)
if (!bookmark) {
console.error(`书签 "${name}" 不存在,无法替换!`)
return
}
await app.value.ActiveDocument.SetReadOnly({
Value: false
})
range.Font.ColorIndex = 1;
range.Font.Name = '仿宋';
await new Promise(resolve => setTimeout(resolve, 500))
const isReplaceSuccess = await bookmarks.value.ReplaceBookmark([
{
name: name,
type: 'text',
value: content?.toString()
}
])
console.log('isReplaceSuccess', isReplaceSuccess) // true
setTimeout(async ()=>{
if (isReplaceSuccess == true) {
// await app.value.ActiveDocument.Protect(3, false, "1234");
await app.value.ActiveDocument.SetReadOnly({
Value: true
})
setTimeout(() => {
range.Font.ColorIndex = 1;
range.Font.Name = '仿宋';
}, 100)
console.log(`书签 "${name}" 已替换为:${content}`)
} else {
await bookmarks.value.ReplaceBookmark([
{
name: name,
type: 'text',
value: content.toString()
}
])
}
}, 1500)
设置完之后,修改的字体一瞬间改变了,但是开启编辑限制之后还是会被覆盖掉原有的样式