In Microsoft Word, it is possible to a list of just the tracked changes; see the first point of this blog post. Is there a way to do this in LibreOffice? From searching the answer appears to be “no” but wanted to do a hive mind check that I’m not missing something. I can see that I can print comments only, from the print dialog, but nowhere to get just changes.
did you mean to post this as a reply to my question? it seems like it is a separate question
You want a feature that currently isn’t available in LibreOffice; the link tells you how to make a request to have it added.
My question was “Does this functionality currently exist somewhere in the application?” not “How do I file a feature request?”, in an attempt to not file FR’s for things that already exist. But I’ll take I guess both of these answers as implied “No this functionality does not exist” answers.
I think that is as close to No, it doesn’t exist as makes no difference.
This could be a rewarding task for a macro coder.
Starting version (0.2) of the macro.
Activate the document containing Track Changes and execute the ShowTrackChanges2 macro (without parameter).
' Shows Track Changes in a separate Calc document.
Sub ShowTrackChanges2(Optional ByVal oDoc As Object)
Dim dataArray(), ind As Long, n as Long, oRedlines As Object, oViewCursor As Object
Dim oCalcDoc As Object, oRange As Object, oColumns as Object, nf As Long, page, s As String
Dim oLocale As New com.sun.star.lang.Locale
If IsMissing(oDoc) Then oDoc=ThisComponent
oRedlines=oDoc.RedLines
If oRedLines.Count=0 Then
Msgbox "No Track Changes"
Exit Sub
End If
oViewCursor=ThisComponent.CurrentController.getViewCursor()
n=oRedlines.Count
ReDim dataArray(n)
dataArray(0)=Array("DateTime", "Author", "Description", "Page", "Text", "Comment")
For ind=0 To n-1
With oRedLines(ind)
s=""
page=""
If (Not (.RedlineStart Is Nothing)) And (Not (.RedlineEnd Is Nothing)) Then
oViewCursor.gotoRange .RedlineStart, False
oViewCursor.gotoRange .RedlineEnd, True
page=oViewCursor.page
s=oViewCursor.String
End If
dataArray(ind+1)=Array(Cdbl(CDateFromUnoDateTime(.RedlineDateTime)), .RedlineAuthor, _
.RedlineDescription, page, s, .RedlineComment)
End With
Next ind
' Show DataArray
oCalcDoc = StarDesktop.LoadComponentFromUrl("private:factory/scalc","_default",0, Array())
oRange=oCalcDoc.Sheets(0).getCellRangeByPosition(0, 0, Ubound(DataArray(0)), Ubound(DataArray))
oRange.setDataArray dataArray
' Title style
oRange.getCellRangeByPosition(0, 0, oRange.Columns.Count-1, 0).CellStyle="Accent"
' NumberFormat
nf=oCalcDoc.NumberFormats.queryKey("YYYY-MM-DD HH:MM:SS", oLocale, false)
oRange.getCellRangeByPosition(0, 1, 0, oRange.Rows.Count-1).NumberFormat=nf
oColumns=oRange.Spreadsheet.Columns
' AutoFilter
oCalcDoc.DatabaseRanges.addNewByName("db_1", oRange.RangeAddress)
oCalcDoc.DatabaseRanges.getByName("db_1").autoFilter=True
' OptimalWidth
For ind = 0 To 3
oColumns.getByIndex(ind).OptimalWidth=True
Next ind
oColumns(4).Width=10000
oColumns(5).Width=5000
oRange.getCellRangeByPosition(4, 1, 5, oRange.Rows.Count-1).IsTextWrapped=True
End Sub