excel - 将按钮文本/名称作为参数传递给子/函数
问题描述
我有 4 个按钮 - 作为形状,因为我想对它们应用一些样式 - 它们都有不同的文本并且名称不同,否则它们是相同的。
我想为所有接受按钮文本或名称作为参数的子分配相同的子,并根据传递给子的文本/名称执行略有不同的操作。
是否可以?还是我必须为 1 个按钮创建 4 个潜艇?
代码草案:
Sub button_pressed(button_text as string)
If button_text = "A" then
do something
Else if button text = "B" then
do something else
'etc...
end if
End sub
解决方案
如果它们是形状,只需将相同的宏分配给它们并Application.Caller
在宏中进行测试:
Sub button_pressed()
dim button_text as string
button_text = application.caller
If button_text = "A" then
do something
Elseif button_text = "B" then
do something else
'etc...
end if
End sub
虽然如果形状名称超过 31 个字符,您可能会遇到问题,因为Application.Caller
只返回前 31 个字符。
推荐阅读
- amazon-web-services - 如何在 AWS s3 存储桶中找到文件的“文件路径”?
- javascript - 如何将轴标签与谷歌气泡图中图表区域外的扩展主要网格线对齐
- r - 如何使用 R 在一张图上绘制来自离散数据的两个估计分布
- scikit-learn - sklearn, Keras, DeepStack - ValueError: multi_class must be in ('ovo', 'ovr')
- html - CSS animation using ::before class extends beyond the div
- python - 如何使用 BeautifulSoup打印每个标签之后的每个标签的内容?
- json - JsonPath query?
- mongodb - 无法引发 MongoError - 身份验证错误
- php - PHP 的 _GET 不支持 if()
- python - 列表中的“列表中”与列表中的“手动搜索”