Dzwebs.Net

撰写电脑技术杂文十余年

word之VBA的变量与Range之间的赋值

Admin | 2014-3-14 16:03:55 | 被阅次数 | 12814

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  有多种方法将现有的 Range 对象赋给变量。本主题对两种不同的方法进行了阐述。在下列示例中,将 Range 对象赋给变量 Range1 和 Range2。

  例如,下列指令(通俗的话就是:下列语句)将活动文档中的第一个和第二个单词赋给变量 Range1 和 Range2。
  Set Range1 = ActiveDocument.Words(1)
  Set Range2 = ActiveDocument.Words(2)

  '注意:
  1.    Words对象是Range对象,它不存在Word对象,你可以这样命名:dim word1 as range,,但是dim word1 as word是不行的,也是错的。
  2.    Words直观的说就是单词,那么,什么是单词呢?中文中没有单词的概念啊!可以这样来理解,英文的单词是以空格分隔的,所以单词就是二个空格之间的字母加空格。(实验证明,确实是这样的)不过,这与我们的关系不大(因为我们大多处理的是中文)。那么中文的“Word”是怎么回事呢?是词组?还是每个汉字呢?其实我也不知道,我是这样来做的,在VBA中输入如下的程序:

  Dim range1 As Range
  Set range1 = ActiveDocument.Words(1)
  range1.select
  MsgBox range1

  再新建一个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);③除此以外,只有汉字与汉字之间的空格算一个Word单词;④有的Word是一个汉字,有的是二个汉字,可能有的还是三个汉字,这是为什么呢?我们打开微软的输入法,再用“彼岸”及“变量”的拼音输入,可以看到这是一个词组(如下图) 所以我想,有的一个是汉字,有的二个是汉字,他“可能”是根据微软的输入法中的词组定义相一致的。⑤当然,你也可以看看Words集合来看一下这个对象。当然,可能没我说的简单、易懂。当然words对象的不确定性,决定了他使用的频率。如果你看懂我的上面所说,对于words对象基本就OK了。
 
  '注意range对象的赋值就是这样set a=b ,变量的赋值就是a=1,但对象就必须这样赋值!(包括任意的对象,Set是对对象赋值的标准语句)


该杂文来自: Word杂文

上一篇:word艺术字不能设置环绕方式

下一篇:两个Range对象变量之间的赋值

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计