excel - 打开现有 Excel 文件并通过 MS Project 在该文件中运行宏
问题描述
我想打开一个名为 的 Excel 文件Open_Yard_Scheduling_tool_V8.xlsm
,在同一个名为的 Excel 文件中运行一个宏,formulcopy
然后通过在 MS Project 应用程序中的 VBA 中编写代码,从 Excel 文件中复制数据并粘贴到 MS Project 文件中。
我能够打开 Excel 文件并复制其数据并将其粘贴到所需的项目文件中,但我无法通过 MS Project 中的 VBA 在 Excel 中运行宏文件。
我正在使用下面提到的代码。
Sub ex_mac()
Dim xlApp As Object
Dim xlWkb As Object
Set xlApp = CreateObject("Excel.Application")
Set xlWkb = xlApp.Workbooks.Open("C:\Users\DHRUV.HEMIL.MANOJ\Documents\Open_Yard_Scheduling_tool_V8.xlsm")
xlApp.Visible = True
Application.Run ("'C:\Users\DHRUV.HEMIL.MANOJ\Documents\Open_Yard_Scheduling_tool_V8.xlsm'!formulcopy")
End Sub
它仅打开所需的 Excel 文件,但无法在同一个 Excel 文件中运行宏。
解决方案
这里的问题是Application.Run
指 MS Project 应用程序,但您尝试在 Excel 应用程序中运行代码。因此,您需要xlApp.Run
改用(指的是您创建的 Excel应用程序Set xlApp = CreateObject("Excel.Application")
:
xlApp.Run("'Open_Yard_Scheduling_tool_V8.xlsm'!formulcopy")
请注意,此处不需要完整路径。
推荐阅读
- javascript - ResizeObserver 在垂直或水平调整浏览器大小时保持数组结构
- python - 将视频帧从 ffmpeg 管道传输到 numpy 数组,而无需将整个电影加载到内存中
- javascript - 部署到heroku时,texpress-session未在反应应用程序中设置cookie
- python - 如何将对象数组的字符串表示形式转换为对象数组?
- seurat - 将 colnames 添加到我的数据框中(Seurat,cellhasing)
- python - 获取当 mtime 早于 ctime 时创建的实际日期(又名让 Windows 和 Linux 玩得好:第 1,432 部分)
- c# - iText 7按自定义名称重新标记c#
- linux - FS 和 GS 寄存器在线性地址空间中映射到哪里?
- python - 从列表生成列表列表
- java - 使用 JpaRepository 更新时事务提交错误