【问题标题】:Resize commentbox picture size in VBa excel 2013在 VBa excel 2013 中调整评论框图片大小
【发布时间】:2015-12-30 07:19:59
【问题描述】:

当我录制宏时,我得到了

Range("C1").Select 
Range("C1").AddComment 
Range("C1").Comment.Text Text:="Blabla" 
Selection.ShapeRange.ScaleHeight 2.3, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleWidth 23.1, msoFalse, msoScaleFromTopLeft

运行此代码会导致:

运行时错误“438”:对象不支持此属性或方法

有人知道吗?

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    您可以直接使用Comment

    With Range("C1")
        .AddComment Text:="Blabla"
        With .Comment.Shape
            .ScaleHeight 2.3, msoFalse, msoScaleFromTopLeft
            .ScaleWidth 23.1, msoFalse, msoScaleFromTopLeft
        End With
    End With
    

    【讨论】:

    • Rory 谢谢,也许你可以回答这个stackoverflow.com/questions/34518872/… ?或者这个stackoverflow.com/questions/34519945/…
    • Per Help: "只有当指定的形状是图片或 OLE 对象时,您才能为此参数指定 msoTrue。"
    • 但你不是在缩放图片,而是在缩放评论。图片只是背景填充,不能作为单独的对象访问。
    • 所以无法获得嵌入图片的默认尺寸?通过重置按钮如何恢复这个大小?
    • 不幸的是,并非 Excel 中的所有内容都暴露于 VBA。
    【解决方案2】:

    罗里也一样。 如果评论已经存在,我会先添加 clearcmets,然后再添加评论以避免错误。

    Sub AddCommentAndResize()
    
    With Range("C1")
        .ClearComments
        .AddComment Text:="Blabla"
        With .Comment.Shape
            .ScaleHeight 2.3, msoFalse, msoScaleFromTopLeft
            .ScaleWidth 23.1, msoFalse, msoScaleFromTopLeft
        End With
    End With
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2021-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-30
      • 2018-09-07
      • 1970-01-01
      • 1970-01-01
      • 2017-06-18
      相关资源
      最近更新 更多