gpt4 book ai didi

ms-access - 是否可以从 VB6 应用程序运行 VBA 文件?

转载 作者:行者123 更新时间:2023-12-01 20:05:59 25 4
gpt4 key购买 nike

我在 Access .mdb 文件中用 VBA 编写了大量代码,其中包含表单并连接到 Access 数据库。我需要将此代码迁移到 VB6 应用程序。重写所有内容是不切实际的,因为太多了。

有没有一种方法可以从带有按钮的 VB6 表单调用该 VBA 文件,从而允许用户通过简单地单击相应的按钮来启动这些 VBA 模块中的每一个? VB6 中的哪一行代码允许启动 VBA 文件?

更新

我终于成功地弄清楚了如何使用以下指令从我的 VB6 表单启动 VBA mdb 文件:

Call Shell("C:\Program Files (x86)\Microsoft Office\OFFICE11\MSACCESS.EXE C:\presto.mdb /runtime /cmd", 1)

所以 VBA 项目现在从 VB6 窗体启动,但它在启动时崩溃,显示此错误“运行时错误‘3024’找不到文件‘C:\db.mdb’”。我觉得我已经完成了解决方案的一半。但我不知道我在这里错过了什么?

最佳答案

如果不了解 VB6 应用程序的结构和 Access 文件以及它们的作用,几乎不可能给出任何有用的答案。

您想要做的事情并不容易,正如评论中所述,VBA 项目并非设计为以这种方式工作。

不过这里有一些建议。

  1. 调查 RunMacro命令,看看这对你是否有用。
  2. 您可以尝试使用类似 autohotkey 的工具在您想要的地方记录鼠标点击并从您的 VB6 应用程序重播。
  3. 查看 VBA 中属于业务逻辑的部分,然后直接将代码复制并粘贴到您的 VB6 应用中。这可能有效,也可能无效,具体取决于代码。
  4. 开始缓慢的重写过程(但不要在 VB6 中重写,使用 VB.Net、C# 或做一个网络应用程序或至少类似于 2015 年应用程序的东西)。

如果您需要我的诚实建议,请开始迁移到更现代的解决方案,例如 VB.NET,这样您在 2020 年就不会遇到更糟糕的问题。

对于您的问题,没有 Elixir 。

关于ms-access - 是否可以从 VB6 应用程序运行 VBA 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33001205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com