【问题标题】:Worksheet opening errors工作表打开错误
【发布时间】:2012-12-20 17:18:38
【问题描述】:

当我尝试创建工作表对象时,出现错误:

    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”

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

【问题讨论】:

    标签: excel vbscript vba


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

    另外,我从您的一个打印屏幕中看到,您正在使用 Notepad++ 进行开发,

    而不是直接运行脚本,

    请使用调试器测试脚本。

    你可以找到调试器here

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

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

    【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多