如果使用 vb 脚本调用宏将被禁用

2023-12-13

我正在尝试使用 vbs 调用我的 Excel 宏。这是我的代码片段。

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Folder\Test_PO.xls")
objExcel.Application.Visible = True
objExcel.Application.Run "C:\Folder\Test_PO.xls!Data_Analysis"
objExcel.ActiveWorkbook.Close
objExcel.Application.Quit
WScript.Echo "Finished."
WScript.Quit

现在的问题是我可以打开文件,但宏不知何故在这里被禁用并向我显示'macro may not be present or may be disabled'。我确信我正在调用正确的宏名称,但是一旦打开文件,我配置宏运行的“加载项”选项卡就会消失。如果我手动打开文件,则不会打开该选项卡,我可以看到该选项卡并从选项卡本身运行宏。有什么建议我可以克服这个问题并让宏运行吗?


Try this

Dim objExcel, objWorkbook 

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Folder\Test_PO.xls")
objExcel.Visible = True
objExcel.Run "Data_Analysis"
objWorkbook.Close
objExcel.Quit

Set objWorkbook = Nothing
Set objExcel = Nothing

WScript.Echo "Finished."
WScript.Quit

EDIT

如果宏位于模块中,那么上述内容将会有所帮助。如果宏位于工作表中,例如 Sheet1,则替换该行

objExcel.Run "Data_Analysis"

with

objExcel.Run "sheet1.Data_Analysis"

FOLLOWUP

试试这个代码。

Dim objExcel, objWorkbook, ad, FilePath

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True

For Each ad In objExcel.AddIns
    If ad.Name = "Converteam.xla" Then
        FilePath = ad.Path & "\Converteam.xla"
        Exit For
    End If
Next

objExcel.Workbooks.Open (FilePath)

Set objWorkbook = objExcel.Workbooks.Open("C:\Folder\Test_PO.xls")

objExcel.Run "Data_Analysis_Converteam"
objWorkbook.Close
objExcel.Quit

Set objWorkbook = Nothing
Set objExcel = Nothing

WScript.Echo "Finished."
WScript.Quit

解释:

当你使用CreateObject,默认情况下不安装加载项。请参阅此链接。

主题: 在 Excel 中使用 CreateObject 命令时不加载加载项

Link: http://support.microsoft.com/kb/213489/

您必须加载加载项,然后调用相关宏。另外你的宏的名称也不是Data_Analysis but Data_Analysis_Converteam

HTH

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果使用 vb 脚本调用宏将被禁用 的相关文章

  • 无法关闭打开的 Excel 工作簿

    我正在构建一个带有命令按钮 用户表单等的 Excel 文件 其中包含其他工作簿的链接 对于工作表上的命令按钮 我使用与用户表单中的命令按钮相同的代码 workbooks open path 使用用户表单命令按钮 添加以下内容 unload
  • Access 2007 数据库和应用程序的版本控制

    我需要对 Microsoft Access 2007 数据库和应用程序进行版本控制 目前 所有内容都包含在单个 mdb 文件中 该应用程序包括 Forms VBA code 实际数据库 我假设我需要将数据库与表单 代码分开 我希望能够将表单
  • WorksheetFunction 数组大小限制

    我正在尝试使用以下百分位数函数计算 VBA 内数组 arr1 中包含 100000 个值的数据集的 99 5 百分位数 Pctile Application WorksheetFunction Percentile arr1 0 995 P
  • 运行时错误“1004”:工作表类的粘贴方法失败错误

    使用 VBA 将 1 行文本从 Word 复制粘贴到 Excel 当代码到达下面的行时 我收到以下错误 ActiveSheet Paste 运行时错误 1004 工作表类的粘贴方法失败错误 But 如果我单击 调试 按钮并按 F8 则会粘贴
  • 将文档属性字段添加到页脚会删除现有的页码

    我想在文档中每个页面的页脚中标记一个文档变量字段 我已经弄清楚如何添加该字段 但是 这样做时 页脚中已存在的页码字段将被禁用 仅保留文本并且不再充当动态页码 这是我的代码 它添加了该字段 但以某种方式禁用了页码 sectionFooter
  • 64 位 Windows 7 上的 Excel 2003 自动更改对 SysWOW64\MSCOMCTL.OCX 的引用,因此 32 位 Excel 会抱怨

    在 Excel 2003 VBA 项目中 我使用 MSCOMCTL OCX 中的控件 也就是说 VBA 项目引用了 System32 MSCOMCTL OCX 当我在 64 位 Windows 7 系统上的 Excel 2003 中打开该项
  • 范围联合无序

    我正在尝试按特定顺序复制各种范围 然后将它们从工作簿粘贴到不同的工作簿中 现在 我已经设置了范围 例如 Set rg ws1 Range A2 A i Offset rowOffset 1 columnOffset 0 Set rg1 ws
  • 如何修复在 Excel VBA 中使用查找函数的错误

    我尝试从另一张表中搜索值 而不是使用 FIND 函数 Private Function Search rng As Range FindString As String As Range With rng Set Search Find w
  • VBA 使用 Like 运算符删除行

    简单的事情并不简单 我试图根据具有以 2L 开头的数据的特定列删除行 所以我写了这段代码 LastRow可以理解 Sub Cleanup For i 1 To LastRow If Range F i Like 2L Then Rows i
  • 如何从 500 个 .xls Excel 文件中的单元格中获取数据?

    我想问你如何从许多Excel中的几个确定的 并且总是相同的 单元格中获取数据 xls文件 即我有一个清单 xls文件位于一个文件夹中 每个文件内部都有相同的表 但具有不同的值 我想从以下位置获取数据A1 C2 E3从文件夹中的所有文件中提取
  • 延迟宏以允许事件完成

    在尝试从宏内访问外部 API 函数集时 我发现有必要添加延迟 以便外部 API 有时间处理选择 实现这一点会带来一些困难 因为使用 Application Wait 或 Application Sleep 不起作用 在线搜索让我尝试使用 G
  • VBA 激活 Internet Explorer 窗口

    我正在制作一个宏 用于打开 Internet Explorer 导航并登录网站 一切正常 但我需要将 IE 窗口放在前面并激活它 这样我就可以使用SendKeys在上面 我发现网站和视频在名为的命令上有不同的方法AppActivate我已经
  • 将按颜色过滤的行复制到新工作表

    我有一个 Excel 电子表格 如下所示 Job1 Job2 Job3 Job4 Job5 Job1 Job2 Job3 Job4 Job5 每行和列之间的单元格颜色不同 我需要按橙色对每列进行排序 然后将行名称复制到新工作表中 所以最后我
  • 从网站上的表格中抓取数据,而无需搜索标签

    这是这个问题的延续使用 InStr 搜索引号 空格 冒号等 https stackoverflow com questions 52673819 using instr to search for quotes spaces colons
  • 使用 VBA 的下拉菜单

    我需要使用 VBA 从下拉菜单中选择特定选项 我怎样才能做到这一点 链接到我们试图从中提取的网页 IE document getElementsByName down count click 我尝试过的代码 Full Module Priv
  • 如何在VBA编辑器中跳转到行号?

    我在 Office 2010 中使用 VBA 在顶部 有一个带有行号和列号的框 例如 Ln 1480 Col 17 有没有办法在代码编辑中 而不是在执行中 直接跳转到另一个行号 就像我使用的那样Ctrl G在记事本中 这个MSDN答案 ht
  • VBA 有没有办法了解未使用的变量?

    标准 VBA 编辑器中是否有工具 方法或设置来警告已被修改的变量Dim med 但没有被使用 MZ Tools http www mztools com index aspx将搜索您的代码并告诉您哪些内容未被使用 VBA的版本可以找到her
  • VBA 完成 Internet 表单

    我正在寻找将 Excel 中的值放入网页的代码 Sub FillInternetForm Dim IE As Object Set IE CreateObject InternetExplorer Application IE naviga
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • 我如何以更好的方式编码而不是像这样的VBA编码

    我正在 Excel 中创建一个仪表板 但是我想知道是否有比这更好的编码方式 我想对其进行模块化 而不是这样做以使其更加整洁 Private Sub Afford If af Value True Then af afr Value Shee

随机推荐

  • SASS 变量和继承

    假设我有两个几乎相同的 HTML 结构 但具有不同的class名称 它们仅存在几个变量不同 例如width and height 通过使用 SASS SCSS 变量 我想我可以做这样的事情 widget a width 50px widge
  • iOS 6 Facebook 登录不刷新访问令牌

    我正在阅读的任何内容 许多 FB 开发文章和 SO 问题 都没有帮助 所以我想我应该在这里发帖 我正在尝试让这一切与 iOS 6 和 Facebook SDK 3 1 1 一起使用 我有一个非常基本的设置 我的 iOS 应用程序通过 Fac
  • 请帮我找出这个网络代理代码有什么问题

    我想编写一个网络代理来练习 这是我到目前为止的代码 returns a map that contains the port and the host def parseHostAndPort String data def objMap
  • 加快 Gatsby 性能

    我在工作中接到了一项提高项目绩效的任务 目前 Google Lighthouse 分数有所波动 但总体而言 分数并不是那么好 因此我们正在尝试找出如何提高其性能 以便能够向我们的领导者炫耀 我们的项目将整个 Gatsby 站点作为单个 Ja
  • PHP 中如何将十六进制转换为二进制?

    我正在尝试发送0x01十六进制作为字节使用socket write socket XXXX 1 功能 有部分文档 如果是 服务器将回复模块 0x01 如果不是 重播 0x00 服务器必须发送答案 1 字节十六进制格式 有多种选择 当使用pa
  • 画布动画中的闪烁图像

    window requestAnimFrame function callback return window requestAnimationFrame window webkitRequestAnimationFrame window
  • 在ipython中调用pylab.savefig而不显示

    我需要在文件中创建一个图形 而不在 IPython 笔记本中显示它 我不清楚之间的相互作用IPython and matplotlib pylab在这方面 但是 当我打电话时pylab savefig test png 除了保存在中之外 还
  • K&R fopen 和 fillbuf 中的 C 段错误

    我对C很陌生 我在学习K R最后一章时遇到了一个问题 我正在尝试实施fopen and fillbuf 通过使用系统调用来实现功能 open and read 我完全复制了书中的源代码 但编译后反复出现分段错误 fp gt fd fd fp
  • 如何保证三个DIV无论内容如何高度相同

    div class section group div class col span 1 of 3 articleTeaserBoxColor div class test2n div class imgHolder img class i
  • 遍历所有表单元素,无论其类型如何

    我正忙于为我们的一位客户提供表单管理器 总体想法是为各个部门构建表单 我想创建一个微型系统来处理表单的验证等 而无需重做太多工作 尽可能自动化 我的第一个主要任务是 我想单击提交按钮 迭代整个表单 并根据特定的凭据和验证规则验证表单 然后再
  • ?:??运算符代替 IF|ELSE

    public string Source get if Source null return string Empty else return Source return Source string Empty set if Source
  • Delphi FreeAndNil:寻找替代实现

    注意 请耐心听我说 我感觉有点 火焰烤 由于一些讨论here and here以及我报告的一些问题here and here 一些背景 旧的 10 4 之前 FreeAndNil看起来像这样 FreeAndNil var SomeObjec
  • 在 Flutter 中终止应用程序后,如何使用 Awesome 包继续获取通知?

    我正在使用很棒的通知包 我想知道如何在应用程序终止时保持获取通知 我猜你正在使用firebase messaging与您的应用程序 要在应用程序终止 后台状态时处理消息 您必须创建一个 firebase 后台消息处理程序 Above mai
  • 使用 Spring Webflux Reactive WebClient 设置连接超时

    为 默认 WebClient 设置 连接 超时的正确方法是什么 仅仅使用就足够了吗Mono timeout Duration 生成的 Mono 或 Flux 上的方法 或者这是否会导致可能的内存 连接泄漏 提前致谢 答案来自Spring 5
  • 模板类型检查 C++

    我有一个接受对象的模板函数 我需要确定该对象是否派生自特定基类 如果它是从基类派生的 我需要调用附加函数 无论如何我可以在 C Linux 中做到这一点吗 class baseA class derivedA baseA class tes
  • 如何在手动按单个片段的后退按钮时返回到上一个片段?

    我只有一个activity和多个fragments在我的应用程序中 两个主要片段A 左 和B 右 Fragment A1 called from A B1 called from B B2 called from B1 All fragme
  • 将 String 转换为 Double 时的双精度无效

    我得到一个 NumberFormatException 这行代码中的双 111 000 000 无效 double SalePotential Double valueOf EtPotential getText toString 一开始
  • PHP 如何在没有 HTML 标签的情况下进行回显

    我有一种系统 每个人都可以输入他想要的任何内容 不过 他们似乎也可以使用诸如 img src a href a etc 你怎样才能完全防止这种情况发生呢 举例来说 如果有人输入 h1 Hello h1 文字不会变大 但只会显示 h1 Hel
  • 在 MS Access 和 SQL Server 中处理图片

    具体是如何进行的 将图像 图片存入 SQL 数据库 使用 MS Access 表单查看 SQL 数据库中的图片 我目前在两个数据库之间使用 ODBC 链接 没有任何问题 但我很难理解我需要做什么才能实现我想要实现的目标 我已经尝试过谷歌 但
  • 如果使用 vb 脚本调用宏将被禁用

    我正在尝试使用 vbs 调用我的 Excel 宏 这是我的代码片段 Set objExcel CreateObject Excel Application Set objWorkbook objExcel Workbooks Open C