找回密码
 立即注册

QQ登录

只需一步,快速开始

johntao

注册会员

3

主题

7

帖子

196

积分

注册会员

积分
196

活字格认证

最新发帖
johntao
注册会员   /  发表于:2012-6-27 10:52  /   查看:5891  /  回复:1
为什么对Word书签操作BUG太严重?
我在WORD中做模版,使用书签标记一段文本。
在WORD 定位 可以定位到这一段文本
但是用TX只能获取标签的开始位置,我用SELECTION 定位标签并且设置length一部分正常,还有一部分死活选择不上。
例如:
            DocumentTarget [] dtArr = new DocumentTarget[textControl1.DocumentTargets.Count];
            
            textControl1.DocumentTargets.CopyTo(dtArr, 0);
            //遍历标签
            for (int i = 0; i < dtArr.Length; i++)
            {
                textControl1.DocumentTargetMarkers = true;
                textControl1.Select(dtArr.Start+1, 10);

                int nSelect = 10;
                textControl1.Selection.Length = nSelect;  //因为可能标签长度太大导致选择失败,选择失败 length为0 -1重新选择
                while (textControl1.Selection.Length == 0)
                {
                    nSelect--;
                    textControl1.Selection.Length = nSelect;
                    
                }
          }
但这个方法对大部分标签可以操作 部分标签不能获取。
我尝试使用TextField 但是 我们的WORD 有大量这样的模板 如果修改起来很麻烦 而且我在设计器中 使用MailMarge 中的fileds and Market 都不能获取TextField  后来发现WORD 不能支持 TX的FIELD存储 必须使用 TX TEMPLATE  ,但是 我无法在设计器中找到标签模板制作的入口

求解释? 我只想设计模板 然后标记一些字符 将这些字符替换 ,如果可以最好能使用WORD 的书签

这是木板:
11.jpg (56.68 KB, 下载次数: 137)

1 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-6-27 12:30:00
沙发
回复 1楼johntao的帖子

你好,建议使用 Word 中 MergeField 去定位修改位置,下面是我在附件基础上进行修改的文档,把 BookMark 修改 为 MergeField,导入 TX 中,从而进行赋值操作的Demo :

5022.zip (58.83 KB, 下载次数: 257)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部