网站大量收购独家精品文档,联系QQ:2885784924

Word VBA 学习交流资料之三.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Word VBA 学习交流资料之三

Word VBA 学习交流资料之三 感  想:有感于国人的Word水平比较低,尤其是VBA这一块,本人想请大家一起学习VBA,在提高自身的能力同时帮助需要帮助的人。 感谢:绿叶的建群之功,也感谢you兄、八爪鱼兄的热烈支持,更感谢大家的大力支持! 学前必备:Word VBA帮助(2003或别的都行,大体相当)(没有也没有关系,在这里,大多看到的就是复制自“帮助”的。) 可选工具:金山词霸(对E文不太懂的人,尤其重要) 语法工具:共享区的VBS(感谢七兄) 学习方法:“不求甚解”(一开始,不太懂,没关系,坚持下去就懂了。) 学习步骤:看到例子时,复制到VBE编辑器中运行一次,看一下结果(最好按F8,一步一步地看) 必要指出:是“互学”,错误或不妥之处难免!因鄙人也是一边看帮助,一边写。 开始之前:高唱国歌(最好能喊:自强不息!) ――――――――――――――― Start: 将 Range 对象赋给变量 有多种方法将现有的 Range 对象赋给变量。本主题对两种不同的方法进行了阐述。在下列示例中,将 Range 对象赋给变量 Range1 和 Range2。例如,下列指令将活动文档中的第一个和第二个单词赋给变量 Range1 和 Range2。Set Range1 = ActiveDocument.Words(1) Set Range2 = ActiveDocument.Words(2) 注意: Words对象是Range对象,它不存在Word对象,你可以这样命名:dim word1 as range,,但是dim word1 as word是不行的,也是错的。 Words直观的说就是单词,那么,什么是单词呢?中文中没有单词的概念啊!可以这样来理解,英文的单词是以空格分隔的,所以单词就是二个空格之间的字母加空格。(实验证明,确实是这样的)不过,这与我们的关系不大(因为我们大多处理的是中文)。那么中文的“Word”是怎么回事呢?是词组?还是每个汉字呢?其实我也不知道,我是这样来做的,在VBA中输入如下的程序: Sub 中文Word() Dim range1 As Range Set range1 = ActiveDocument.Words(1) range1.select MsgBox range1 End Sub 再新建一个Word,输入这样的的汉字“[ a 彼岸赋好 彼岸变量”(不包括红色的双引号),按F8分别测试Words(1)、Words(2)、Words(3)、Words(4)、Words(5)、Words(6)等,发现什么没有。我发现了如下的规律:①标点符号在中文中算是一个Word单位;②字母或者单词后面的空格不算一个Word单位,再英文如果没有结标记则包括后面的空格(例如:a the as.,则第一个是a ,(注意后面有空格),当然最后的.不包括在前一个as内。所以,以上总共有4个Words,你可以用这个来测试。ActiveDocument.Words(1).Select,ActiveDocument.Words.count)(如下图)所以我想,有的一个是汉字,有的二个是汉字,他“可能”是根据微软的输入法中的词组定义相一致的。⑤当然,你也可以看看Words集合来看一下这个对象。当然,可能没我说的简单、易懂。当然words对象的不确定性,决定了他使用的频率。如果你看懂我的上面所说,对于words对象基本就OK了。 注意range对象的赋值就是这样set a=b ,变量的赋值就是a=1,但对象就必须这样赋值!(包括任意的对象,Set是对对象赋值的标准语句) 将一个 Range 对象变量设置为等于另一个 Range 对象变量下列指令将名为 Range2 的区域变量设为与 Range1 代表的位置相同。 Set Range2 = Range1与 Range1 代表的位置相同现在两个变量代表同一区域。修改 Range2 的起点、终点或其中的文本将影响 Range1,反之亦然。请注意,以下指令等价于 Range2.Text = Range1.Text。该指令指定 Range2 的默认属性(Text 属性)为 Range1 的默认属性。但该指令并不修改其实际引用的对象。 Range2 = Range1Range2 和 Range1 区域具有相同的内容,但它们可能对应文档中的不同位置,甚至对应不同的文档。Dim range1 As Range, range2 As Range Set range1 = ActiveDocument.Range(0, 1) 文档的第一个区域(字) Set range2 = ActiveDocument.Range(1, 2) 文档的第二个区域(字)

文档评论(0)

cgtk187 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档