Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA字范围操作似乎有所不同_Vba_Ms Word - Fatal编程技术网

VBA字范围操作似乎有所不同

VBA字范围操作似乎有所不同,vba,ms-word,Vba,Ms Word,在使用或设置范围时,某些范围的行为与其他范围不同。比如说, ActiveDocument.Range(10, 20).Select ActiveDocument.Tables(2).Cell(1, 1).Range(10, 20).Select 第一行是否正常,并按预期工作。第二行在Range语句上产生错误,尽管这两行似乎应该是相同的 区别是什么?单元格上的范围是一个属性,而不是一个方法——它返回由单元格表示的文档范围 这意味着您不能添加像(10,20)这样的参数 以下是等效的: Dim r

在使用或设置范围时,某些范围的行为与其他范围不同。比如说,

ActiveDocument.Range(10, 20).Select
ActiveDocument.Tables(2).Cell(1, 1).Range(10, 20).Select
第一行是否正常,并按预期工作。第二行在Range语句上产生错误,尽管这两行似乎应该是相同的


区别是什么?

单元格上的
范围
是一个属性,而不是一个方法——它返回由单元格表示的文档范围

这意味着您不能添加像
(10,20)
这样的参数

以下是等效的:

 Dim rangeStart As Integer
 rangeStart = ActiveDocument.Tables(2).Cell(1, 1).Range.Start
 ActiveDocument.Range(rangeStart + 10, rangeStart + 20).Select