使用超级文本或记事本++;作为VBA的编辑器和生成器

使用超级文本或记事本++;作为VBA的编辑器和生成器,vba,excel,sublimetext,Vba,Excel,Sublimetext,好的,所以我必须在我的新工作中学习VBA,因为我们使用Excel或多或少地处理任何事情。Excel中内置的VBA编辑器让我发疯——感觉它不是为高效地编写代码而设计的 近年来,我一直在为所有编码目的使用Sublime文本,但我不明白如何将我的优秀书面代码链接到我的Excel文档。假设我尝试运行以下文件 Sub test() Debug.Print "Hello, World" End Sub 从Sublime文本中,我从控制台[在0.1s中完成]中获得以下内容,但没有打印输出 我的问题是:有

好的,所以我必须在我的新工作中学习VBA,因为我们使用Excel或多或少地处理任何事情。Excel中内置的VBA编辑器让我发疯——感觉它不是为高效地编写代码而设计的

近年来,我一直在为所有编码目的使用Sublime文本,但我不明白如何将我的优秀书面代码链接到我的Excel文档。假设我尝试运行以下文件

Sub test()
  Debug.Print "Hello, World"
End Sub
从Sublime文本中,我从控制台
[在0.1s中完成]
中获得以下内容,但没有打印输出


我的问题是:有没有人能解决如何从Sublime Text或Notepad++在Excel中运行VBA的问题?我在VBA中仍然是一个巨大的noob,因此,在测试代码的旁边能够真正看到Excel工作簿上的效果将是一件好事

用升华编写VBA代码的问题在于VBA嵌入到Excel中,因此不能只构建用升华编写的宏


  • 解决方法之一是编写VBA代码并将粘贴复制到VBA编辑器(如上所述)。当您开始使用多个模块、类等时,这是不可管理的

  • 第二种方法是使用VBA的导入/导出功能。您可以将模块和类导出到
    *.bas
    *.cls
    文件中,并直接在Sublime文本中编辑它们。为此,您可以使用网站上的宏。只需将代码复制到单独的模块中,它就会将当前项目中的所有代码导出到单独的文件中,您可以在升华文本中编辑这些文件。在升华中进行更改后,只需使用宏将所有文件重新导入VBA编辑器。您可能还希望通过注释掉VBA代码来稍微更改VBA代码


。。。否则它将不会导入回同一个电子表格。

该加载项不适用于VBA。它们是非常不同的东西。VBA只能在其自己的IDE中编译和执行,该IDE只能在Office中使用。VBA是MS Office独有的,-您只能在本机IDE中执行VBA。为什么你不喜欢IDE呢?VBA IDE中的大多数东西都有捷径,只是学习它们的一个例子。我理解你的观点,你已经习惯了,但是如果你真的想学习VBA,那么IDE是必不可少的。也就是说,没有什么可以阻止你用N++或sublime编写代码,然后简单地将它粘贴到一个模块中,这样你就可以调试它。VBA不是MS Office独有的,你可以在ArcGIS、AutoCAD、CATIA、Corel Draw、WordPerfect和其他软件中找到它。我很惊讶有人问VBA IDE有什么问题!!!只需使用VBA语言将VBA程序复制到记事本,或使用VS查看差异。IDE在1990年表现良好。
If wkbSource.VBProject.Protection = 1 Then
    MsgBox "The VBA in this workbook is protected," & _
        "not possible to export the code"
    Exit Sub
End If