【问题标题】:Formula or Macro for Open Office calc to retrieve Comments (annotation) from a CellOpen Office calc 的公式或宏,用于从单元格中检索注释(注释)
【发布时间】:2013-01-16 07:48:09
【问题描述】:

我需要从 oOcalc 工作簿中收集和整理数据。 部分信息在单元格上显示为 cmets。

我想不出一个公式来做到这一点,而且我不熟悉 oOcalc DOM 来操作该项目。

希望有人可以帮助我。 谢谢。

【问题讨论】:

    标签: excel formula openoffice.org openoffice-calc


    【解决方案1】:

    我只需要自己解决这个问题,所以这里有一个宏,可以将一张表中的单元格的 cmets 复制到另一张表中的实际单元格中。 它可能会更好,但它可以完成工作,所以它不值得(我的)时间投入!

    REM ****** BASIC *********
    
    Sub ExtractCommentAnnotationThings
    
    Dim myDoc as Object
    Dim originalSheet as Object
    Dim newSheet as Object
    Dim originalCell as Object
    Dim newCell as Object
    Dim commentString As String
    
    REM DEFINE VAR FOR OUR LOOP
    Dim iTargetRow, iTargetColumn As Long
    
    Const kEndRow = 950
    Const kEndColumn = 20
    
    REM SET DOC
    myDoc = ThisComponent
    
    REM GET SHEET
    originalSheet = myDoc.Sheets(0)
    newSheet = myDoc.Sheets(1)
    
    REM START LOOP
    For iTargetRow = 0 To kEndRow: DoEvents
    For iTargetColumn = 0 To kEndColumn: DoEvents
        originalCell = originalSheet.getCellByPosition(iTargetColumn,iTargetRow)
        REM commentString = Trim(originalCell.Comment.Text)
        If originalCell.Annotation.isVisible = True Then
    
            commentString = originalCell.getAnnotation().String
    
            newCell = newSheet.getCellByPosition(iTargetColumn,iTargetRow)
            newCell.String = commentString
        End If      
    Next
    Next
    REM CONTINUE LOOP
    
    End Sub
    

    kEndRowkEndColumn 设置为仅包含要复制的单元格范围。 也适当设置originalSheetnewSheet(可能需要先创建一个新工作表),以便将它们复制到您想要的位置。

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-05
      • 2022-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多