Open Office calc 的公式或宏,用于从单元格中检索注释(注释)
Posted
技术标签:
【中文标题】Open Office calc 的公式或宏,用于从单元格中检索注释(注释)【英文标题】:Formula or Macro for Open Office calc to retrieve Comments (annotation) from a Cell 【发布时间】:2013-01-16 07:48:09 【问题描述】:我需要从 oOcalc 工作簿中收集和整理数据。 部分信息在单元格上显示为 cmets。
我想不出一个公式来做到这一点,而且我不熟悉 oOcalc DOM 来操作该项目。
希望有人可以帮助我。 谢谢。
【问题讨论】:
【参考方案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
将kEndRow
和kEndColumn
设置为仅包含要复制的单元格范围。
也适当设置originalSheet
和newSheet
(可能需要先创建一个新工作表),以便将它们复制到您想要的位置。
希望对你有帮助!
【讨论】:
以上是关于Open Office calc 的公式或宏,用于从单元格中检索注释(注释)的主要内容,如果未能解决你的问题,请参考以下文章
MS OFFICE excel vs Open office Calc vs libreoffice calc 以及相同的公式对每个原因都不起作用任何建议
如何禁止用户在 calc open office 中使用 saveas?