【问题标题】:Running macro with vbscript - workbook on shared drive使用 vbscript 运行宏 - 共享驱动器上的工作簿
【发布时间】:2018-10-08 10:34:48
【问题描述】:

早上好,

我正在尝试使用 vbscript 运行一个简单的测试宏,但出现此错误:“无法运行宏 'Test'。此工作簿中可能没有该宏,或者所有宏都可能被禁用。 "

这是vbscript中的文字:

Dim objExcel, xlBook

Set objExcel = CreateObject("Excel.Application")
Set xlBook = objExcel.Workbooks.Open("S:\Water\ProcedureSheet.xlsm")

objExcel.visible = True
objExcel.Run "Test"

xlbook.Save
xlbook.Close
objExcel.Quit

执行此操作时,工作簿可以正常打开,因此上面指定的路径是正确的。在此工作簿中,我有一个名为 Test 的模块,其中包含以下宏:

Public Sub Test()

    With Sheet3
        Cells(1, 1).Value = Time()
    End With

End Sub

很简单,对吧?我已经多次检查 vbscript 文本是否存在拼写错误,并且在信任中心设置中启用了“信任对 VBA 项目对象模型的访问”。我什至自动启用了所有宏。我不确定这里出了什么问题。这个论坛上的其他人提到需要以管理员身份运行 vbscript 才能正常工作?由于我使用的是工作计算机,因此我没有此系统的管理员权限,因此无法尝试。

有人有什么想法吗?谢谢!

【问题讨论】:

    标签: excel vbscript vba


    【解决方案1】:

    它对我有用,在对您的公共子测试进行一些更改后,您编写的 With 部分看起来像伪代码而不是“正确代码”。

    另外,Time() 不是一个有效的函数,它会返回一个 Empty 值,你必须使用“Now”函数来获取当前时间和/或日期

    'VBScript
    Dim objExcel, xlBook
    
    Set objExcel = CreateObject("Excel.Application")
    Set xlBook = objExcel.Workbooks.Open("\\DrivePath\Test.xlsm")
    
    objExcel.visible = True
    objExcel.Run "Test"
    
    xlbook.Save
    xlbook.Close
    objExcel.Quit
    
    'Excel Sub
    Public Sub Test()
        With Sheets("Sheet3")
            .Cells(1, 1).Value = Now
        End With
    End Sub
    

    【讨论】:

      【解决方案2】:

      我有一个工作正常,但它有一个细微的差别。

       Set xlApp = CreateObject("Excel.Application") 
        Set xlBook = xlApp.Workbooks.Open("X:\Temp\Tables.xls", 0, false) 
        xlapp.visible = true
        xlApp.Run "UpdateAll"
        xlapp.activeworkbook.close
        xlApp.Quit 
      

      “0, False”选项不应该影响宏是否运行,但谁知道呢?也许还有另一个默认方向错误的选项?

      【讨论】:

        【解决方案3】:

        感谢您对这个问题的所有帮助。在摆弄了一分钟后,我发现了我的错误。在上面的例子中,“Test”子被写入的模块也被命名为“Test”,这就是错误的原因。

        只需更改名称并修复上述正确识别的伪代码,脚本就可以正常工作。我将模块名称改回“Test”以确认我的怀疑,确实是模块名称导致该错误被抛出。

        【讨论】:

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