在Linux中从外部将宏脚本添加到Excel文件

时间:2018-07-06 05:24:09

标签: excel vba ubuntu

我的要求是:给我一个excel(用户将其上传到我们的服务器),然后我的程序应自动将一个宏代码(可能在文本文件中定义)添加到excel文件中,然后将其发送回用户。我发现了一个类似的问题,但是该解决方案仅在Windows中有效,但是由于我们的服务器是基于Linux的,因此我没有找到解决方法。

链接到类似问题:Use Python to Inject Macros into Spreadsheets

1 个答案:

答案 0 :(得分:1)

假设正在向您发送xlsm格式的文件,则需要具备以下功能:

  1. 以zip文件形式打开文件
  2. rels文件中找到.bin零件路径-请参见Microsoft Open Packaging Conventions
  3. 找到并打开VBA项目的.bin流
  4. 将.bin流解析为Compound Binary File Format文件
  5. 按照Office VBA File Format Structure中的说明,解析描述和列出文件模块内容的二进制流。
  6. 将模块文本添加为​​新的流,并使用新内容更新步骤5中的文件。

这不是一件小事。这项工作已经在Python中完成,并且许多用于zip文件和复合二进制格式文件的库已经在Windows的.NET中。据我所知,除aspose

中的工具外,没有其他任何预建工具。