首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要VBScript导入业务辅助系统文件到Excel的相对目录或替代

需要VBScript导入业务辅助系统文件到Excel的相对目录或替代
EN

Stack Overflow用户
提问于 2019-08-31 00:35:34
回答 1查看 518关注 0票数 0

我有一个VBA模块和一个VBScript,可以将此模块导入到特定的Excel Workbook中。我面临的问题是,当使用不同的机器时,模块的路径将会改变。有没有办法将BAS文件与脚本文件打包?还是将BAS放在实际的VBScript文件中?

理想情况下,最终产品将是一个单一的文件,这是可能的Vbscript和BAS文件一起发送(可能压缩),但我更喜欢一个文件交付。不幸的是,将VBA模块转换为VBS并不是一个真正的选择,因为我特别需要一些VBA功能。

当前功能但不理想的代码:

代码语言:javascript
复制
'Target Excel file to import BAS file to

Filepath = "C:\targetExcelFile.xlsx"

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open(filepath)

objExcel.Visible = True

'Imports BAS module, but using a filepath

objExcel.VBE.ActiveVBProject.VBComponents.Import pathToBASfile

objExcel.Run "MySub"
EN

回答 1

Stack Overflow用户

发布于 2019-08-31 03:25:15

VBS文件是否总是放在xlxs附近?如果是这样的话,你可以这样做:

代码语言:javascript
复制
'Target Excel file to import BAS file to
Set Fso = WScript.CreateObject("Scripting.FileSystemObject")
ParentFolder  = FSO.GetParentFolderName(WScript.ScriptFullName)
sParentFolder = ParentFolder & "\"

Filepath = sParentFolder & "targetExcelFile.xlsx"

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open(filepath)

objExcel.Visible = True

'Imports BAS module, but using a filepath

objExcel.VBE.ActiveVBProject.VBComponents.Import pathToBASfile

objExcel.Run "MySub"

这将获取执行脚本的当前文件夹,如果该文件位于该文件夹附近,则它将始终运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57730391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档