vba:偏移量不适用于Excel文档中的Word脚本

问题描述:

我有一个Word文档应打开一个Excel文档,找到范围中的第一个空单元格并开始填充某些带有信息的单元格。因此,我想使用偏移量,但由于某种原因,它会给偏移量带来错误。下面的代码的相关部分:vba:偏移量不适用于Excel文档中的Word脚本

Sub ExcelDoc() 

Dim XLapp As Object 
Dim objExcelDoc As Object 
Dim objOverzicht As Object 
Dim c As Range 

'Set objOverzicht 
Set objOverzicht = ActiveDocument 

'Set XLapp and objExcelDoc 
Set XLapp = CreateObject("Excel.Application") 
XLapp.Visible = False 
Set objExcelDoc = XLapp.Documents.Open("C:\Document.xlsm") 

'Set c 
Set c = objExcelDoc.Sheets("Overzicht").Range("B3") 
    Do 
    Set c = c.Offset(1, 0) 
    Loop Until c = "" 

当我运行的代码,它标志着“.Offset”并显示消息‘编译错误:未找到方法或数据成员’。我在这里做错了什么?

非常感谢提前看到这个!

Word本身有一个“Range”对象,所以当你声明Dim c As Range时c被创建为Word.Range对象,它没有Offset属性。所以,你有2种方式解决问题:

  1. 只是c声明为Variant:Dim c as Variant

  2. 做一个MS Excel引用,并用它声明变量:

    2.1 VBA编辑器去工具 - >参考,并打开 “Microsoft Excel中XX.X对象库” 参考

    2.2声明变量:Dim c as Excel.Range

+0

很好,解决了这个问题。非常感谢你! – RobK 2014-10-20 08:12:06