python - 如何使用 xlsxwriter 自定义 Excel 工作表中按钮的操作

标签 python excel xlsxwriter

我想使用 xlsxwriter 来控制我的 Excel 工作表,而不是使用 VBA 来使用老式的方式。我需要一个按钮来触发一些 Action 。我从官方文档中读到的是

workbook.add_vba_project('./vbaProject.bin')
worksheet.insert_button('B3', {'macro':   'say_hello',
                               'caption': 'Press Me'})
我不知道如何将自己的函数定义为宏,也不知道如何生成“vbaProject.bin”。反正有没有像python函数这样的格式编写宏并直接将其分配给按钮?
如果我必须在 vbaProject.bin 中包含宏,我该怎么做?希望它不是像vba这样的东西。

最佳答案

所以你有很多方法来控制和自动化你的文件:

  • 你可以使用vba
  • 您可以使用使用 python 语法的 xlsxwriter
  • 您可以使用名为 PyXLL https://www.pyxll.com/docs/userguide/macros.html 的库.看来您可以使用 python 语法编写宏,但我还没有尝试过,您可以看看它可能是您正在寻找的东西。

  • 关于您关于如何使用 xlsxwriter 将宏注入(inject)到您的 excel 的问题,请查看我的答案here,我认为它非常详细:
    Add dataframe and button to same sheet with XlsxWriter
    顺便说一句,vba不难学,网上有很多资料。如果您不想手动编写代码,您可以通过按录制来录制宏,做您的事情并停止录制。然后您将拥有可以将其注入(inject)文件的代码(请看我上面的教程)

    关于python - 如何使用 xlsxwriter 自定义 Excel 工作表中按钮的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66603195/

    相关文章:

    xlsxwriter - XlsxWriter 是否可以输出相同的二进制文件?

    python - 修复不正确的 ID 格式

    python - 将某些行从一个 XML 文件传输到另一个 XML 文件

    python - 如何在 macos 上使用 opencv 和 python

    python - 我一直收到缩进错误,我不应该这样

    vba - Excel 2016 Workbook.BeforeClose 事件每隔一段时间触发一次错误

    C# Excel 互操作 - 从 Range 中删除第一行

    python - 如何保存没有分隔符的 Pandas 数据框?

    python - 厄米特矩阵的特征向量

    excel - 覆盖列表框源范围内的值