【问题标题】:Office 365 versus desktop Excel macrosOffice 365 与桌面 Excel 宏
【发布时间】:2018-05-17 20:35:57
【问题描述】:

对不起,如果标题很模糊,我一直在努力解决这个问题,但我不得不说我对 Office 365 及其相关内容知之甚少。

我在 Excel 2010 中开发了一系列宏,其中包括数据输入和子流程的自动化,但最近我们被告知我们正在更明确地迁移到 Office 365 的在线平台,正如您已经知道,据我所知,在线 Excel 不支持宏或任何 VBA。

所以我想知道是否有其他方法可以使它工作?在这一点上,我对任何想法都持开放态度!

提前谢谢你!

【问题讨论】:

  • 最好的解决方案似乎是维护直接安装在 PC 上的常规版本的 Excel,您可以在其中打开这些文件以运行这些宏。您可以在在线版本中打开和编辑文件,而不会损坏或删除宏,但您将无法以任何方式使用它们。您可能可以向您的雇主提出关于生产力损失的商业案例,也许他们会为您保留一个可用的许可证。
  • 查看office-js - 移植快乐!
  • 是的,Mathieu 说得对,未来是基于 javascript 的应用程序。我赞同他的评论。

标签: excel vba office365


【解决方案1】:

[...] 我们被告知我们更明确地迁移到 Office 365 的在线平台,而且您已经知道,Excel 在线不支持宏 - 或任何 VBA 真的

没错。 VBA 是一种 COM 技术,它对特定于 Windows 的事物有很多依赖性。微软设法让它在 Mac 上运行已经相当令人印象深刻了,我什至没有提到制作一个可行的 Mac-VBA 编辑器的极其复杂的工作。

在可预见的未来,VBA 将在 Windows 桌面上得到支持,但让它在所有运行 Office 365 的平台上都能正常工作是不现实的,而且不会发生。

这就是 VBA 的消亡吗?当然不是。 Microsoft 知道有数以百万计的启用宏的关键业务工作表运行 VBA 代码,据我所知,VBA 肯定会继续在 Windows 上得到支持

如果您的公司正在迁移到 Office 365 云,那么您的 VBA 代码需要使用 从头开始​​在 TypeScript 中移植/重写:这应该已被考虑在内进入全网络的决定。如果您的公司不准备移植所有 VBA 代码,那么根据 VBA 代码的业务关键程度,您需要为需要运行 VBA 代码的工作站保留桌面安装。

Microsoft Office 可扩展性团队正在积极监控 SO 上的 标签,Michael 是该标签中的最佳回答者。

您可能希望加入内部计划以从最新的错误修复和新功能中受益,因为 Office-JS 正在非常活跃的开发中,并且绝对欢迎并考虑用户反馈。

免责声明:我是 Microsoft Excel MVP。

【讨论】:

  • 非常感谢!这将我指向我正在寻找的东西。
  • 我刚刚检查了 office-js api,我认为它很糟糕。 MS应该问谷歌如何创建这样的东西。 VisualStudio web-add-in 模板项目对于实际上还没有做任何事情的东西来说是巨大的。一个好主意,但不是很有用。我无法想象很快就能用这么多开销使用它。
  • 很棒的帖子。它有助于理解微软的新举措。 office 脚本可以像我们通过 vba 执行宏一样以编程方式执行吗?
  • @AndyDufresne 我不得不玩弄它比我拥有的更多,但是虽然 ScriptLab 似乎仅限于一个完全可定制的 任务窗格 来从 Office 脚本启动宏看起来更健壮和灵活......但设置起来也更加复杂。因为我扩展了 VBE 而不是 Excel 本身,所以这对我个人来说是有限的......但是,它都是 TypeScript,所以如果一个函数在范围内,它可以被调用,是的。但我不知道它是否可以或如何彻底(与 VBA 相比)与应用程序、工作簿和工作表事件集成。
  • @MathieuGuindon - 感谢您的跟进。由于我们想要实现程序化执行,我一直在寻找一个允许我调用 office 脚本的 rest api。我could not find it。您能否详细说明“如果函数在范围内,则可以调用它”是什么意思?注意我不想为此执行使用任何 VBA 代码。以编程方式调用 office 脚本的选项有哪些?谢谢!
猜你喜欢
  • 2018-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多