【问题标题】:Is it possible to write Excel VBA Code in Visual Studio是否可以在 Visual Studio 中编写 Excel VBA 代码
【发布时间】:2014-06-04 02:50:47
【问题描述】:

有没有办法在 Visual Studio 中编写 VBA 代码。如果没有,还有其他选择吗?

【问题讨论】:

  • Office 中的 VBA IDE。在 Office 应用中按 F11。
  • @tonybd。不确定这是否能回答他的问题。 F11 所做的只是打开 VBE。不是VS。

标签: vba visual-studio excel


【解决方案1】:

您能做的最好的事情就是根据自己的喜好调整 Office Visual Basic 编辑器 (VBE) 工具。如果你留在它的原生环境中,你将获得错误检测、智能感知、实时代码运行等的全部功能。

我的建议……

  1. 在 VBE 中,转到“工具”>“选项”>“编辑器”选项卡。
    关闭“自动语法检查”。您仍然会收到代码突出显示的错误,但不会出现烦人的弹出窗口。

  2. 转到编辑器格式选项卡并将字体更改为Consolas (Western),大小为11

  3. 对于代码缩进安装很棒的免费Code Manager。它添加了一些糟糕的键盘快捷键。

  4. Edit toolbar easily accessible 用于代码注释/取消注释。

  5. 使用Rubberduck 添加单元测试、源代码控制、代码检查和重构功能。

通过这些简单的更改,您最终获得了一个体面、有用且键盘友好的环境来编写视觉上吸引人的代码。 :-D

【讨论】:

  • 先生,感谢您的回答,让我真正了解了世界。
  • 我是否缺少注释/取消注释键盘快捷键?
  • @jonathanbell 没有定义快捷方式的好方法。我知道的最好方法是右键单击评论按钮,选择自定义,让对话框保持打开状态,然后再次右键单击该按钮。从那里,您可以在要用于触发按钮的字母前面添加&,同时按下Alt 键。所以...如果你给它命名Co&mment 那么Alt+M 将注释代码。然后将另一个命名为&UncommentAlt+U 将取消注释代码。不是很好,但总比没有好。
【解决方案2】:

Excel 的 VBA 代码只能使用 VBA IDE 在 Excel 中编写。 VBA 项目存储为 Excel 文件的一部分,无法加载到 Visual Studio。

但是,您可以使用 Visual Studio 为 Excel 编写 VSTO(Visual Studio Tools for Office)托管加载项。以下 MSDN 页面涵盖了使用 VBA 和 VSTO 进行开发。

Excel for developers

您还可以使用 VBA 的互操作功能从您的 VBA 代码中使用用 Visual Studio 编写的 (COM) 对象。

【讨论】:

  • VBA code for Excel can only be written inside Excel using the VBA IDE. 不正确。 VBA 可以在任何文本编辑器中编写,并作为 *.bas*.cls 文本文件导入到工作簿的 VBA 项目中。
  • @ExcelHero 不仅如此,它还可以在文本编辑器中编写并强制写入压缩的 VBAProject 流中。 See here
【解决方案3】:

我自己一直在寻找这个问题的答案。

我发现自己最好的选择是使用您已经编写(或空白)的代码从 Excel 导出模块等,然后将其加载到 Visual Studio 环境中。

它提供的不多,但突出显示的文本和自动缩进很好,与标准 VBA 环境相比,它更易于阅读。

完成后,只需将其重新导入 Excel。

【讨论】:

    【解决方案4】:

    您当然可以在 Visual Studio 解决方案中添加和编辑 VBA 文件 (.vb),但智能感知将毫无价值/搞砸了。 VScode 的这个扩展可能会提供更好的体验:https://marketplace.visualstudio.com/items?itemName=spences10.VBA

    如果您的目标是将您的 VBA 代码公开给源代码管理以便您可以跟踪更改,那么将其包含在您的 Visual Studio 解决方案中仍然是值得的,但只需将该 VBA 代码存储在纯文本文件中,然后使用 Excel interop 将其加载到 excel 工作簿中的相应模块中,例如:

    xlWorkbook.VBProject.VBComponents["ThisWorkbook"].CodeModule.AddFromFile(@"C:\PathToYour\VBAcode.txt");
    

    还有其他方法可以删除/替换代码行等......

    【讨论】:

      【解决方案5】:

      有一个 VSCode 扩展可以做到这一点。 它允许您在 VSCode 中编写代码并将其导出到 Excel。 当您使用 VBA 进行开发时,此扩展非常有用。

      这里是下载XVBA extension的链接

      【讨论】:

      • 只是一个注释。这是一个常见的错误,但 Visual Studio Code 不是 Visual Studio。它们是完全不同的应用程序。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-12
      • 2016-05-18
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      相关资源
      最近更新 更多