【发布时间】:2017-08-07 11:52:49
【问题描述】:
所以我自动化了 Excel 工作簿的某些部分。在代码中,我向某些工作表添加了一些按钮。一切似乎都很好,直到一位同事在 Mac 上工作,收到以下错误:运行时错误 '1004': Method 'Caption' of object 'Button' failed。
我检查了它,显然错误只发生在 1 个特定工作表上。我尝试删除该特定工作簿并创建一个新工作簿,但该特定工作表上仍然出现错误。
这是我的代码:
Dim btn As Button
Set btn = Sheet2.Buttons.Add(400, 5, 100, 50)
With btn
.OnAction = "add_feature_click"
.Caption = "ADD FEATURE"
.name = "add_feature"
End With
Set btn = Sheet2.Buttons.Add(510, 5, 100, 50)
With btn
.OnAction = "add_phase_click"
.Caption = "ADD PHASE"
.name = "add_phase"
End With
Set btn = Sheet3.Buttons.Add(400, 5, 100, 50)
With btn
.OnAction = "Add_Feature_click"
.Caption = "ADD FEATURE" '<--
.name = "add_feature"
End With
Set btn = Sheet3.Buttons.Add(510, 5, 100, 50)
With btn
.OnAction = "add_phase_click"
.Caption = "ADD PHASE"
.name = "add_phase"
End With
因此,在“Sheet2”中创建按钮可以正常工作,但在 Mac 上执行时会在“Sheet3”上引发错误。 (相同的代码用于将按钮添加到 6 个不同的工作表,并且在所有其他工作表中都可以正常工作)
编辑:错误发生在带有注释箭头的行
知道如何解决这个问题吗?
【问题讨论】:
-
表 3 是唯一与其他表具有不同 .OnAction 的部分。我建议将其与您的其余陈述保持一致。
-
这是一个复制问题,出于隐私原因,我缩短了名称,我将对其进行编辑
-
好吧,由于某种原因,您的标题无效。因此,它可能与您尝试分配给它的文本有关。也许您正在使用任何特殊字符?
-
只是猜测-如果您更改标题以使标题不重复怎么办?例如,
ADD(一个空格)FEATURESheet2和ADD(两个空格)FEATURESheet3? -
对于它的价值,我假设您使用“Dim 作为按钮”,我在 2011 和 2016 Excel for Mac 的干净工作簿上运行它,添加按钮效果很好。跨度>