我录制了一个宏,它将更改按钮上的文字以显示当前日期。工作表不受保护。当我共享工作簿并单击按钮时,出现此错误:
运行时错误' -2147024809(80070057)':
锁定请求的形状以供选择
我取消选中" Lock"和#34;锁定文字" (当我右键单击按钮并单击"格式控制"并在"保护"标签下),但它没有解决问题。
有没有人知道这方面的解决方法?我希望宏在共享时工作。谢谢。
这是我录制宏时得到的代码:
Sub updateDate()
'
' updateDate Macro
'
'
ActiveSheet.Shapes.Range(Array("Button 1")).Select
Selection.Characters.Text = Date
With Selection.Characters(Start:=1, Length:=9).Font
.Name = "Calibri"
.FontStyle = "Bold"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 3
End With
Range("B1").Select
End Sub
答案 0 :(得分:0)
当共享/受保护时,您无法访问某些对象/类。但是你的目标是什么,你不必在完成后更改字体(请记住,只有当ActiveSheet有这个按钮时才能调用这个字段):
Sub updateDate()
'
' updateDate Macro
'
'
ActiveSheet.Buttons("Button 1").Text = CStr(Now) ' Date
Range("B1").Select ' <-- Not needed
End Sub
<小时/> 的修改
尝试添加其他按钮并将其分配给MakeButtonRedBold
:
Sub MakeButtonRedBold()
MakeButtonStyle01 "Button 1"
End Sub
Private Sub MakeButtonStyle01(ByVal sButtonName As String)
Dim oBtn As Object
On Error Resume Next
Set oBtn = ActiveSheet.Buttons("Button 1")
On Error GoTo 0
If Not oBtn Is Nothing Then
Application.DisplayAlerts = False
ThisWorkbook.ExclusiveAccess ' UnShare Workbook
With oBtn.Font
.Name = "Calibri"
.Bold = True
.Size = 11
.Color = RGB(255, 0, 0)
End With
ThisWorkbook.SaveAs ThisWorkbook.FullName, AccessMode:=xlShared ' Share the Workbook
Application.DisplayAlerts = True
End If
End Sub
答案 1 :(得分:0)
尝试在vb6.0 sp6 win10-64bit中查看png文件时遇到相同的错误。也许您可以使用它。
简短答案:关于错误恢复下一个
我昨天发现了所有显示png文件的代码。
由于属性:Stretch = True
私人子Form_Load()
'为了使这项工作
'在菜单项目/参考中[x] Microsoft Windows图像采集库V2.0
'C:\ WINDOWS \ System32 \ wiaaut.dll
'http://www.vbforums.com/showthread.php?813811-How-to-load-PNG-image
'如果在
下面添加了一行,则使png-support.exe无效
On Error Resume Next'摆脱错误:vb6运行时错误-2147024809
昏暗的img作为新的WIA.ImageFile
img.LoadFile“ c:\ temp \ test.png”'确定文件类型png jpg gif tif
设置Image1 = img.FileData.Picture
设置img =没什么
结束Sub