Exporter notes et surlignements d’un fichier Word sous OS X

Pour compléter le billet précédent, voici le script d’exportation adapté pour fonctionner avec Word 2011 sur OS X.

Comme avec la version Windows, l’objectif c’est de pouvoir facilement commenter un texte et d’en extraire d’un coup, en Markdown, à la fin, tous vos commentaires et passages surlignés (sérieusement, lisez le billet précédent pour savoir à quoi ça sert précisément).

Pourquoi une version Word 2011, pour Mac ? Pour éviter de passer par la case Windows : on pourra rester sur OS X. Pas que cela m’ennuie d’ouvrir Windows, mais pourquoi faire compliqué quand on peut faire simple ?

L’idée, c’est aussi de pouvoir bosser — lire et commenter un texte — directement dans Pages — aussi bien sur OS X, iOS qu’en ligne — puis d’exporter le fichier commenter en DOCX, à la toute fin, après avoir terminé sa lecture, pour récupérer les notes. Word étant réduit au rôle d’exportateur…

Si ça vous tente, le script est à votre disposition. Et si vous le trouvez utile, je rappelle que le bouton Flattr, affiché en bas de l’article n’est pas décoratif 😉

Sub ExportComments()

'
' Export each comment fron the active file in a new file
' Then save it in the same directory as the original Word file
' Suffixed with "-notes"
' Works with Word 2011, on OS X
' For a Windows version, see :
' https://davidbosman.fr/blog/2014/11/13/exporter-notes-et-surlignements-dun-fichier-word/
' David Bosman - http://davidbosman.fr
'
' That's all folks.
'

Dim s As String
Dim cmt As Word.Comment
Dim doc As Word.Document
Dim CommentsFile As String
CommentsFile = Left(ActiveDocument.Path, Len(ActiveDocument.Path) - 5) & "-notes.docx"

s = s & "# " & ActiveDocument.Name & vbCr & vbCr
For Each cmt In ActiveDocument.Comments
s = s & vbCr & vbCr & "## " & cmt.Index & "(" & cmt.Date & ") :" & vbCr & ">" & cmt.Scope.Text & vbCr & vbCr & cmt.Range.Text & vbCr
Next
Set doc = Documents.Add
ActiveDocument.Styles("Normal").Font.Name = "Courier New"
doc.Range.Text = s
doc.SaveAs CommentsFile
doc.Close
End Sub