书签赋值的格式不统一

阅读次数 2

书签赋值 进入在线编辑,然后使用了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)

设置完之后,修改的字体一瞬间改变了,但是开启编辑限制之后还是会被覆盖掉原有的样式数字是黑体,而文字是仿宋出现了红色

0 Answers