学习使用word vba扩展trados的功能

来源:互联网 发布:电脑账户域名怎么设置 编辑:程序博客网 时间:2024/04/30 11:03
在已安装trados的机器中office word 里会出现操作trados的工具条。这个是因为trados安装后会有一个trados自带的模版文件trados7.dot(我用的trados版本7)拷贝到:/Documents and Settings/Administrator/Application Data/Microsoft/Word/STARTUP中这样word在启动时就会自动的加载该模版。
 
那么,加载trados模版之后的word就会出现操作trados的工具条。我们可以用word打开trados模板文件,并可以再编辑的状态下查看该模版的vba的源代码。前提是word没有加载该模版(再'工具->模版和加载项'中去掉加载的模版)。
 
vba得源码使用vb for word写的。其中有些模块对应按钮的打开过程,比如:tw4winOpen对应的是trados工具条的打开按钮。
 
对代码研究发现,各个实现工具条按钮的类模块其实都是调用了tw4winMain中的方法。而trados实现的原理实际是利用了windows的剪切版。
 
下面我具一个打开过程的例子,说明一下原理:
 
      再word中点击打开按钮,会将光标所在位置处的文档转换成原文译文对照的格式。他的原理是。将光标所在位置添加一个标记(-{}-)然后再将光标所在段 落选中。并且在该段落的段首和段尾添加两个word的标签tw4winForm、tw4winUpto这样将整个一段复制下来并且通过tradosAPI 的函数执行打开命令。trados没有公开API所以只能仿照着他vba源码来使用
    参见 tw4winMain中的fExecute函数。
 
    trados执行后会从剪切板中将复制的内容取走!根据标记(-{}-)将整个段落替换掉在放入剪切板中。word再将剪切板中的内容取出替换原来的段落就可以了!
 
    那么文档打开后光标会停在译文的开头并且译文会独自成一个段落。这样就可以取到译文。然后移动光标向上移动两段。这样可以移动到源文处。原文也是独立成一段。这样可以取到译文和源文。
 
    修改译文后我们可以利用开始按钮设置的标签移动到段的开头。然后再向下移动4段。移动到译文段。将修改后的译文取出。
 
     这样我们就可以取出译文、原文、修改后的译文了!
 
原创粉丝点击