如何将.bas文件转换为VBScript/EXE或从命令行运行? 我在Excel中通过MS Visual Basic for Aplications创建了脚本,但是我只能在Excel下运行此脚本。我怎样才能使这个脚本为.vbs或.exe? ?excel:如何将.bas文件转换为vbscript/exe或从命令行运行?
回答
我认为最简单的选择是将.bas
文件保存为.vbs
扩展名并将您的代码修改为VBScript;然后在Windows Script Host(WSH)下运行它。请记住,在Excel下的VBA中,您可以访问许多内置对象;在WSH下的WSH中,您必须使用CreateObject
或GetObject
函数自己创建或访问这些对象(请参阅this answer)。 (WSH有自己的一套内置对象)。在Excel的情况下,你需要开始:
请记住,在VBScript,变量没有类型,因此所有语句如:
Dim i As Integer
Dim wks As Excel.Worksheet
需要有As
条款中删除:
Dim i
Dim wks
有关两者之间的差异具体细节,见 INFO: Visual Basic for Applications Features Not in VBScript和 INFO: VBScript Features Not in Visual Basic for Applications。
VBA有一个内置的IDE和调试器,在WSH下运行代码时您不具备此功能,但可以使用Visual Sudio调试脚本文件。
cscript yourscript.vbs //D //X
:通过从命令行调用它们
2013,
2012,
2010
调试脚本如下 - (倘无法安装VS 2015年社区版,Visual Studio集成壳也行。
或:
wscript yourscript.vbs //D //X
如果您有Office 2007或更早版本,您可以使用Microsoft脚本编辑器进行调试;有没有需要下载和安装尽管如此VS.,VS是远比Microsoft Script Editor和VBA调试器更强大。
恐怕简短的回答是,你不能,至少不是直接。 VBA和VBS是轻微的变体,虽然你可以将代码保存到一个.vbs文件中,但我非常怀疑它会做任何事情,而不会将其更改为VB脚本。
要制作一个.exe,你需要类似Visual Studio的东西。即使那样,你可能需要重新修改你的代码,使它成为工作。
我想这取决于你的代码做什么。
我认为每个人都在这里提出了很好的观点,但有一件事我没有看到这将是一个大问题,在VBA和Visual Basic中,您可以使用On Error GoTo命令并使用诸如MainErrorHandler:在函数的底部。 VB脚本不允许这样做,并且您需要使用On Error GoTo 0或On Error Resume接下来哪些在VBA和Visual Basic中都是允许的。但VB脚本中的错误处理在所有VB语言中都是允许的。
- 1. Linux命令行将PDF转换为excel
- 2. 如何将XML文件转换为Groovy语法从命令行
- 3. 在命令行上将Excel文件转换为CSV
- 4. 如何将多行linux命令转换为一行命令
- 5. 从命令行运行T4MVC转换
- 6. 从命令行运行web.config转换
- 7. 从命令行将DOC转换为PDF
- 8. 将docker-compose文件转换为构建和运行命令
- 9. 如何通过命令行将Illustrator文件转换为EPS(* nix)
- 10. 如何将uwsgi命令行转换为yaml文件?
- 11. 如何通过命令行将IPython Notebook转换为Python文件?
- 12. 从命令行运行脚本时将文件下载为csv
- 13. 如何将命令提示符命令转换为.bat文件
- 14. 如何从命令行使用LibreOffice将.doc文件转换为.txt?
- 15. 如何将重音字符从命令行转换为wstring?
- 16. 从命令行运行C++文件
- 17. 如何在命令行上使用FFmpeg将* .flv文件转换为* .ts文件?
- 18. 命令行:“ - ”转换为“U”
- 19. 通过PHP或命令行将SVG转换为DXF或DWG?
- 20. 将命令行游戏转换为applet
- 21. LibreOffice命令行将CSV转换为DBF
- 22. 如何将此命令行代码转换为在PowerShell ISE 2.0中运行?
- 23. 从命令行创建excel文件
- 24. 如何在ruby文件中运行命令行命令?
- 25. Assimp命令行将OBJ文件转换为SLT
- 26. Docx4J命令行将doc/docx文件转换为html
- 27. 在命令行将Mac iWork文件批量转换为PDF
- 28. 将gcc命令行转换为Eclipse CDT项目文件
- 29. SpecRun.exe:从命令行运行.feature或.playlist文件
- 30. 如何使用命令行将宏文件(以前导出为.bas文件)导入到Microsoft Word中?
它似乎你必须重写代码! – Sam