excel - 在形状中使用 OnAction 得到错误 1004
问题描述
我一直在搜索这个错误,但找不到解决方案,得到以下错误:
定义应用程序或对象的错误 1004
使用以下代码:
Sheets("sheet1").Shapes(shapeName).OnAction = macroName
- 这一切都在一张简单的工作簿中。
- 任何外部宏
- 片材/形状未锁定
- shapeName 和 macroName 其简单字符串
更多信息:
Call SetButtonActive("get_quest_1", "GetQuest")
Function SetButtonActive(shapeName As String, macroName As String)
Sheets("sheet1").Shapes(shapeName).OnAction = macroName
Sheets("sheet1").Shapes.Range(Array(shapeName)).ShapeStyle = msoShapeStylePreset41
With Sheets("sheet1").Shapes.Range(Array(shapeName)).Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorText1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0
End With
End Function
解决方案
应该用MacroName
引号括起来,以下是有效的:
Sub TestMe()
ThisWorkbook.Worksheets(1).Shapes(1).OnAction = "MacroName"
End Sub
Sub MacroName()
Debug.Print "TEST"
End Sub
推荐阅读
- google-colaboratory - 为什么我的 ipynb 文件在 Google Colab 中被下载为 txt 文件
- node.js - Dialogflow @vitalets/google-translate-api 翻译不起作用
- flutter - Flutter - 有时不显示文本和图标
- css - 用 HTML/CSS 实现这种布局的最佳方式是什么?Flexbox、网格还是其他?
- c# - 关于通过 Internet 和 c# 的 p2p 连接。再次
- flutter - 在 null 上调用了方法“+”。接收方:null 尝试调用:+(123)
- r - 将行名分配给数据框
- html - 两列的高度和宽度不同(引导程序)
- git - 从 git 存储库的历史记录中删除所有 .txt 文件
- http - 发送请求时:错误请求