错误#91,未设置对象变量或带块变量,.段落.word vba中的下一个方法
我想从中学习。段落。下一个方法 我也读过Stackoverflow 这两个示例我都读了5遍,后来从Microsoft帮助页面复制了示例代码 我将它粘贴到Word VBA编辑器中,完全没有任何更改,并从那里运行它错误#91,未设置对象变量或带块变量,.段落.word vba中的下一个方法,vba,ms-word,range,Vba,Ms Word,Range,我想从中学习。段落。下一个方法 我也读过Stackoverflow 这两个示例我都读了5遍,后来从Microsoft帮助页面复制了示例代码 我将它粘贴到Word VBA编辑器中,完全没有任何更改,并从那里运行它 Sub MoveAhead() For n = 0 To 8 Set myRange = ActiveDocument.Paragraphs(1).Next(Count:=n).Range myRange.Collapse Direction:=w
Sub MoveAhead()
For n = 0 To 8
Set myRange = ActiveDocument.Paragraphs(1).Next(Count:=n).Range
myRange.Collapse Direction:=wdCollapseStart
myRange.InsertAfter n + 1 & vbTab
Next n
End Sub
使用F8键进行调试时,第一个循环运行正常,从n=0到n=1,但当第二个循环运行时,宏在Set myRange=ActiveDocument.parages(1).Next(Count:=n).Range
行崩溃
我刚刚用VBA开始我的冒险,但是第一个变量I
不需要设置,对吗?因为它是一个带值的变量,对吗
第二个变量myRange
设置正确,那么这里出了什么问题
代码是从Word VBA编辑器运行的。当时没有打开Excel文件。您的文档有多少段落?添加行
Debug.Print ActiveDocument.parations.Count
,看看我的意思。您无法转到下一段,因为您没有足够的段落。当宏启动时,文档完全为空。从文档中,就在该片段之前:“此示例在活动文档的前九段之前插入一个数字和一个选项卡。”如果您刚开始使用VBA,请确保在每个模块/类的开头都有Option Explicit。安装FantableRubberDuck插件并查看代码检查结果。我用100个段落获取了该文件,代码开始像一个魔咒一样工作。很抱歉给你添了这么多麻烦。我想我只需要重新教育自己,让自己学会理解阅读。非常感谢@BigBen。