向宏中的单元格添加注释

Posted

技术标签:

【中文标题】向宏中的单元格添加注释【英文标题】:Adding a Comment to a cell in a macro 【发布时间】:2010-07-10 15:53:55 【问题描述】:

我想在宏的单元格中添加注释。我试过录制一个宏来做到这一点,但它什么也没做。有任何想法吗?这是录制的宏的主要内容:

dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:DrawEditNote", "", 0, Array())
rem dispatcher.executeDispatch(document, ".uno:InsertAnnotation", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:DrawEditNote", "", 0, Array())
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint"
args4(0).Value = "$A$2"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args4())

【问题讨论】:

【参考方案1】:

在 OpenOffice 中称为“插入注释”

' col, row - Zero-based
sub insertAnnotation(col, row, text)
    sheet = thiscomponent.getcurrentcontroller.activesheet
    cell = sheet.getCellByPosition(col, row) 
    sheet.Annotations.insertNew(cell.getCellAddress, text)
    cell.Annotation.isVisible = True
end sub

' row, col - Zero-based
sub removeAnnotation(col, row)
    sheet = thiscomponent.getcurrentcontroller.activesheet
    cell = sheet.getCellByPosition(col, row)
    cell.clearContents( com.sun.star.sheet.CellFlags.ANNOTATION )
end sub

insertAnnotation(2, 0, "Hello " & Now)

【讨论】:

以上是关于向宏中的单元格添加注释的主要内容,如果未能解决你的问题,请参考以下文章

如何从选定的 Excel 工作表单元格中在宏中添加时间戳

excel宏中的部分单元格(或字符串)匹配

如何在 OpenOffice Calc 宏中获得合并的单元格行/列跨度

向热图中的特定单元格添加注释

对 VBA 中的选定单元格执行修剪功能

Qt ActiveX QAxObject 格式 Excel 单元格注释