- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试跨多个文件运行宏。我以前使用过这个脚本并且它有效,但也许我无意中改变了一些东西?我遇到的问题是我收到一条错误消息“无法找到 PERSONAL.XLSB,它是否可能已被移动...”但是,我使用的是 .xlsb 文件的完整路径并且我正在运行该文件中的宏。
这是我的脚本:
'Sub SHELLforMacros()
Dim wbMatrix As Workbook
Dim strFileName As String
Dim strPath As String
Dim strExt As String
Dim objWorkbook As Workbook
Dim ws As Worksheet
'This is the folder of files it needs to run through:
strPath = "C:\Users\myname\Desktop\All_mricgcm3_files\45\Fall45\test\"
strExt = "csv"
strFileName = Dir(strPath & "*." & strExt)
While strFileName <> ""
Set wbMatrix = Workbooks.Open(strPath & strFileName)
'Set objWorkbook = ActiveWorkbook
Application.Run "C:\Users\myname\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSB'!Graph_NEW"
wbMatrix.ActiveWorkbook.Save
wbMatrix.Close SaveChanges:=True
strFileName = Dir
Wend
End Sub
我还尝试将 PERSONAL.XLSB 文件放入与其需要运行的文件相同的文件夹中(并更改路径以反射(reflect)这一点)。我尝试从文件夹中的一个文件而不是从 PERSONAL.XLSB 运行或启动它,而不使用完整路径。我不明白为什么找不到。谢谢。
最佳答案
从另一个工作簿运行宏可以很简单,我将在下面的步骤中尝试描述。
但是运行“跨多个文件的宏”并不意味着在调用宏方面进行任何修改。您没有显示宏代码,但如果它引用了 ThisWorkbook
与要处理的一样,它必须引用所需的( ActiveWorkbook
或 wb
,如果以前是 Set
)。
如果“我正在从该文件运行宏”表示运行宏 来自 “PERSONAL.XLSB”,它应该简单地称为:
Graph_NEW
正如已经建议的那样。如果你坚持使用
Application.Run
,即使没有必要,也可以试试:
Application.Run "Graph_NEW"
现在,如果你运行代码
在不同的工作簿中 并且需要从“PERSONAL.XLSB”运行宏,最简单的方法是使用:
Application.Run "PERSONAL.XLSB!Graph_NEW"
当然,“PERSONAL.XLSB”应该是打开的。
Application.Run
Application.Run "'C:\Users\myname\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSB'!Graph_NEW"
您的代码缺少前缀
"'"
.如果
没有它也可以工作工作簿完整路径中不存在任何空格 ,但是您应该删除“!”之前的那个...在您的情况下,如果“myname”不包含任何空格,则它可能会丢失。
Graph_NEW
关于excel - 从另一个 Excel 宏运行 Excel VBA 宏-错误 : Can't find PERSONAL. XLSB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69340870/
免责声明:这不是我的代码。我从一个常规的 xlsm 文件中取出一个宏,并将它放在一个 xslb 文件中以便于分析。宏在 xlsm 中正常工作,但在 xlsb 文件中遇到变量问题。 ColumnToFo
我想使用 VBA 导出/维护/管理我的个人宏工作簿 individual.xlsb 中模块的文本文件备份。 我在 msdn 上找不到引用模块本身的对象库。有人能给我指出正确的方向吗? 使用 Excel
我进行了搜索,并且知道如何从 VB 宏调用 Personal.xlsb 中的函数,但是如何调用要在新工作簿中使用的函数? 这是我的函数,保存在我的 Personal.xlsb 的“Module1”中:
有什么特殊的方法可以在 UIwebview 上加载 .xlsb(excel 二进制格式)。我可以加载 .xlsx,但不能加载 .xlsb。 NSString *path = [NSSearchPat
我有一位客户需要将 XLS 文件转换为 XLSB。有没有人以编程方式完成此操作(有或没有附加组件 --- 无关紧要 --- 只需要能够自动化它)?我正在寻找一种自动化方法。 附带说明一下,客户问这个是
我正在使用 POI 3.9 从 xlsx 读取数据。但是现在我遇到了一个问题,POI 不支持 xlsb 文件,我需要通过程序从 xlsb 中读取数据。有人知道如何以编程方式从 xlsb 读取数据吗?表
有谁知道如何使用任何编程语言在 Linux 操作系统中创建数据或将数据导出到 xlsb 文件(二进制文件格式)? 我的想法是从 R 执行它,但非常感谢任何使用 Python、Perl 或其他语言的建议
我在 VBA 中创建了一个用户定义的函数,并将其保存在 Personal.xlsb 文件中,以使其可用于所有书籍。这个函数的目的是接收一个范围和一个数字。对于范围内的所有数字,第一步是将其舍入到作为参
我经常不得不使用 vlookup 来查找与代码关联的公司名称。我已经有一个包含代码和相应公司名称的 Excel 表。为了简化我的任务,我正在尝试创建一个函数 i ,我只需要指明代码,然后返回公司名称。
我有一个 xlsb。 (ms excel 2007) 文件创建。 我已将其上传到服务器,网站用户可以下载它,但是当用户下载并打开此文件时,ms excel 在单击"is"时提示错误为“Excel 发现
我正在尝试在 R 中打开一个 .xlsb 文件并不断收到类似的错误。 关于如何解决此问题而无需下载数据并将其保存为不同格式的任何建议? read.xlsx(paste(OutputLocation,F
我已连接到 .xlsb 文件所在的文件系统链接服务,并且我想使用该信息创建一个 CSV 文件。 此 .xlsb 文件有几张,我只需要一张。 是否可以读取 .xlsb 文件并在数据工厂数据集中选择我们想
有什么方法可以减少通过自动 shell 或 tcl 生成的 .xls 文件的大小,以便我可以自动通过邮件发送它。截至目前,我正在手动将 .xls 文件转换为 .xlsb,将其大小从 25 mb 减少到
自 Excel 2007 以来,Microsoft 将经典的 .xls 格式拆分为多种格式(特别是 .xlsx、.xlsm、.xlsb)。我可以毫无问题地理解 .xlsx 格式的使用和目的,但我仍然想
我需要一些帮助来从 VCL C++ 程序中查询 xlsb 数据库(文件); (使用C++Builder XE2)主要是想查询里面的数据方便查看(在同一台机器上,不涉及网络),我不需要修改它!所以我想知
我有下面的 JDBC 代码。我正在尝试创建一个 dnsless 连接。 import java.sql.DriverManager; import java.sql.Connection; impor
我想写入我的 .xlsb excel 文件,名称是当天的数字。 例如,昨天的文件名是 23.xlsb。 文件的初始名称是“Template.xlsb”,位置不同。如您所见,该文件已被复制并在新位置重命
我正在尝试使用 python 在 Personal.XLSB 中运行一个宏。 当我运行宏 PERSONAL.XLSB!PIVOTS我自己来自它工作的excel工作簿。另外,如果我将 vba 代码复制并
我有一个 .XLSB 文件(使用 Office 2016 创建的 MS excel 二进制工作表)有超过一百万条记录。如何使用 SSIS 加载它? 我在两台不同的 PC 上同时拥有 SQL Serve
我有一个 .xlsb 文件,我想使用 Pandas 进行分析。我找到了如何使用 pyxlsb 打开文件并创建另一个数据集。但是,现在的问题是时间格式已更改为不同的数字格式(例如 41256)。 我目前
我是一名优秀的程序员,十分优秀!