工作表打开错误

时间:2012-12-20 07:12:36

标签: excel-vba vbscript vba excel

当我试图创建工作表对象时,收到错误:

    Dim oFS   : Set oFS  = CreateObject("Scripting.FileSystemObject")
    Dim oXls  : Set oXls = CreateObject("Excel.Application")
    Dim oWb   : Set oWb  = oXls.Workbooks.Open(oFs.GetAbsolutePathName("Wing_To_Wing_Report.xlsx"))
    Dim aData ': aData    = oWb.Worksheets(1).Range("$A2:$C10")
    Dim dicP  : Set dicP = CreateObject("Scripting.Dictionary")
    Dim Range,ObSheet1,ObSheet2
    Dim TotalRows,LastCol


    ObSheet1=oWb.ActiveWorkbook.Worksheets("WingToWingMay25")
    ObSheet2=oWb.ActiveWorkbook.Worksheets("ParentChildLink")

也试过这个:

   ObSheet1=oWb.Worksheets("WingToWingMay25")
   ObSheet2=oWb.Worksheets("ParentChildLink")

错误对象不支持此属性或方法:“ActiveWorkbook”

你能在这帮我吗?为什么会这样。

2 个答案:

答案 0 :(得分:3)

  1. oWb本身是一个工作簿对象您不需要ActiveWorkbook 部分
  2. 您错过了set
  3. 中的set ObSheet1=oWb.Worksheets("WingToWingMay25")关键字

    另外,我从你的一个版画屏幕上看到,你正在使用Notepad ++进行开发,

    而不是直接运行脚本,

    请使用调试器测试脚本。

    您可以找到调试器here

    使用调试器,您可以逐行运行源代码,

    并使用监视窗口在运行时查看每个对象的属性。

答案 1 :(得分:0)

而不是ObSheet1=oWb.ActiveWorkbook.Worksheets("WingToWingMay25"),你应该这样做:

set ObSheet1=oWb.ActiveWorkbook.Worksheets("WingToWingMay25")