我的公司将从Excel转变为Libre Office Calc。我已经建立了一个Excel宏集合(特别是屏幕刮擦宏)。我的宏在没有变化的情况下工作吗?任何其他已经做出改变的人,你是如何顺利地做出改变的?
发布于 2017-05-05 10:19:25
可能已经被橡胶鸭https://stackoverflow.com/a/24749320/7326037回答了
来自LibreOffice的在线帮助文件: 除了少数例外,Microsoft和LibreOffice不能运行相同的宏代码。Microsoft使用VBA ()代码,LibreOffice使用基于LibreOffice API ()环境的基本代码。虽然编程语言是相同的,但对象和方法是不同的。 最新版本的LibreOffice可以运行一些Excel脚本,如果您在LibreOffice - PreferencesTools - Options - Load/Save属性中启用此特性的话。实际上,您很可能需要坐下来使用LibreOffice API并重写该功能。
这篇文章还建议,在VBA的部分宏将工作,但将需要一些手动迁移。https://ask.libreoffice.org/en/question/6621/import-ms-word-macros/?answer=6982#post-id-6982
在ODF/ODS文件中,必须在宏开头启用VBA支持,否则它需要LO-Basic:
Option VBASupport 1
Option Compatible
最终,您可能需要检查每一个,并检查它是否正确运行。
发布于 2017-05-05 10:18:02
在大多数情况下,如果不将宏从VBA转换为Libre Office Basic,这就无法工作。在执行到Libre Office的切换以使切换顺利之前,您需要重写它们并测试它们。
https://stackoverflow.com/questions/43802220
复制相似问题