首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改共享工作簿上的按钮文本:运行时错误“-2147024809(80070057)”

更改共享工作簿上的按钮文本:运行时错误“-2147024809(80070057)”
EN

Stack Overflow用户
提问于 2017-07-06 04:41:13
回答 2查看 7K关注 0票数 0

我录制了一个宏以更改按钮上的文本,以显示当前日期。

工作表不受保护。

当我共享工作簿并单击按钮时,我会得到以下错误:

运行时错误'-2147024809 (80070057)': 请求的形状被锁定以供选择。

我没有选中"Lock“和"Lock Text”(右键单击按钮并单击"Format Control“并在”保护“选项卡下),但它没有解决问题。

我希望宏在共享时工作。

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-06 05:23:57

当您对某些对象/类进行共享/保护时,无法访问它。但是,您的目标是可以实现的,您不需要在完成之后更改字体(请记住,只有在ActiveSheet有此按钮时才应该调用此子程序):

代码语言:javascript
复制
Sub updateDate()
'
' updateDate Macro
'
'
    ActiveSheet.Buttons("Button 1").Text = CStr(Now) ' Date
    Range("B1").Select ' <-- Not needed
End Sub

编辑

若要在共享形状时更改形状,首先需要对其进行UnShare,然后进行更改,然后保存SharedAccess。

尝试添加另一个按钮并将其分配给MakeButtonRedBold

代码语言:javascript
复制
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
票数 0
EN

Stack Overflow用户

发布于 2019-07-22 06:31:54

在vb6.0 sp6 win10 10-64位中试图查看png文件时,我也遇到了同样的错误。也许你可以用它。

简短回答:在错误恢复下一个

所有显示png文件的代码,我昨天都发现了。

更改为Image1. Form1上的图像,因为属性:= 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

‘Make Support.exe如果在下面添加行,就会工作

关于错误恢复下一步‘摆脱错误: vb6运行时错误-2147024809

Dim img作为新的WIA.ImageFile

img.LoadFile "c:\temp\test.png“‘ok filetypes png jpg gif tif

集合Image1 = img.FileData.Picture

设置img = Nothing

结束子对象

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44939935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档