LibreOffice Calc:如何将按钮控件的Additional Info/URL数据传入宏?
一、配置按钮的附加信息
- 右键点击表单控件Push Button,选择「指定宏」
- 在弹出的窗口中点击「选项」按钮
- 在「附加信息」输入框内填入目标内容(比如
Apples),确认保存
二、编写接收参数的宏代码
打开VBA编辑器(按Alt+F11),在对应模块中插入以下代码:
Sub WriteToCell() ' 获取当前触发宏的按钮附加信息 Dim additionalInfo As String additionalInfo = Application.Caller ' 将信息写入A1单元格 ThisWorkbook.ActiveSheet.Range("A1").Value = additionalInfo End Sub
关键说明:Application.Caller会直接返回触发宏的表单控件的「附加信息」内容,无需额外参数定义。
三、代码无法运行的常见排查点
- 确认按钮是表单控件而非ActiveX控件:两种控件的参数传递逻辑完全不同,ActiveX控件不支持此方式
- 宏名称与按钮指定的宏完全匹配:右键按钮→「指定宏」,确保选中的宏和你编写的宏名称一致
- 检查工作表权限:如果工作表被保护,需解除保护或给A1单元格设置可编辑权限
- 启用宏:打开文件时务必启用宏,否则代码不会执行
- 不要给宏添加自定义参数:
Application.Caller是通过内置对象获取值,宏的参数列表必须为空
内容的提问来源于stack exchange,提问作者Micklos
相关产品推荐
相关产品推荐

