Open Office calc的公式或宏从单元格中检索注释(注释)

时间:2013-01-16 07:48:09

标签: excel formula openoffice.org openoffice-calc

我需要从oOcalc工作簿中收集和整理数据。 部分信息显示为对单元格的评论。

我无法弄清楚这样做的公式,我不熟悉操作项目的oOcalc DOM。

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

1 个答案:

答案 0 :(得分:1)

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

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(可能需要先创建一个新工作表),以便将它们复制到您希望的位置。

希望它有所帮助!