Préambule
Où je plante le décors et explique au lecteur stupéfait ce que je fais et le but de mon petit script.
J’écris un roman, dans Word sous Windows. J’aimerais pouvoir lire et annoter le manuscrit sur mon iPad, vautréconfortablement installé dans le canapé, pour ensuite reprendre ces annotations et corrections dans le manuscrit lui-même, sur l’ordinateur. Malheureusement, Microsoft Office n’est toujours pas disponible sur iOS et, pour diverses raisons, les apps alternatives ne me conviennent pas. Exit la lecture des fichiers Word sur l’iPad, donc ? Aucune solution ? Dois-je me résoudre à revenir à Markdown ?
—David, me dis-je en me regardant droit dans les yeux (oui, je me parle à moi-même et je me regarde dans les yeux), la situation est grave mais pas désespérée à ce point-là.
—C’est vrai, j’ai qu’à acheter une Surface 2, y a Word dessus !
—Trop chère. En plus, t’as déjà commandé le nouvel iPad mini.
—Ouais, t’as raison… Mais y a Word dess…
—Oublie Word et fais attention, STP. Sur ton iPad, tu peux facilement lire des ebooks, ePub et Mobi, non ? Et tu sais que tu peux aussi très facilement les annoter ?
—Oui, et alors ? me suis-je dis à moi- même.
—Et alors ? Seigneur, aidez-moi à ne pas me donner de baffes… Comment tu les fais, tes ebooks, andouille ?
—Dans Calibre, depuis un fichier Word.
—Et…
—Et ? Ben… heu… ça marche bien !
—Ouiiiii. Et… ? Tu vois où je veux en venir ?
—Non, mais je veux bien un thé.
—Gnnnnn. Imagine un instant que ça soit automatisé.
—Le thé ?
—Mais non ! La création d’ebook ! Tu veux que je t’étrangle, ou quoi ?
—Non.
—Donc, avec un script, tu aurais un nouvel ePub/Mobi qui serait envoyé sur ta tablette chaque fois que tu sauvegarderais ton manuscrit dans Word, ou chaque fois que tu le déciderais. Là, tu piges ?
—… Non.
—Tu pourrais lire et annoter ton ebook sur la tablette, puis récupérer tes annotations pour travailler sur l’ordi. Et tu serais toujours sûr d’avoir la dernière version.
—Aaaah. Oui. C’est une bonne idée. Mais pour le thé, alors ?
Après avoir repris conscience, suite à un auto-étranglement rageur, poussé par mon insatiable curiosité, ainsi que par la promesse d’une tasse de thé, je me suis fait un script sur mesure qui :
- Récupère le titre du roman dans les propriétés du fichier Word, pour en faire le titre de l’ebook (c’est plus sympa dans la bibliothèque qu’un ebook intitulé “Unknown”).
- Enregistre le document actif, aka “le roman”.
- Copie le texte que vous avez sélectionné (tout le manuscrit ou une partie seulement) dans un nouveau fichier (histoire de pas faire de connerie avec l’original), qu’il enregistre dans un dossier temporaire.
- Exécute dessus la ligne de commande Calibre pour :
- Créer un epub.
- Créer un mobi.
- Ces ebooks préservent les éventuels titres utilisés dans le manuscrit. Calibre ajoute également un saut de page avant chaque titre de niveau 2, niveau qui correspond aux chapitres dans mon roman.
- Enregistre ces ebooks dans un dossier qui est synchronisé sur iPad. Dans mon cas c’est via SkyDrive mais ça marchera aussi bien avec Dropbox ou un autre. On pourrait aussi l’envoyer par email, mais pourquoi s’emmerder ?
C’est une macro VBA testée uniquement dans Word 2013, sous Windows. Pour que ça fonctionne, Calibre doit être installé (testé avec la version 1.10) car c’est lui qui se charge de créer les ebooks (pourquoi pas réinventer la roue et le fil à couper le beurre, tant qu’on y est ?).
Sub ExportDoc()
‘
‘ Macro to create an epub/mobi from a copy of the active docx
‘ Save in a folder: ie, SkyDrive or Dropbox.
‘ So, you can read (and annotate) an epub/mobi of you current manuscript
‘ from any tablet with SkyDrive/Dropbox or whatever
‘ Download latest version: http://davidbosman.fr
‘
‘
‘Get doc’s title from its metadata:
MyTitle = ActiveDocument.BuiltInDocumentProperties(“Title”).Value
‘Saving actual doc.
‘Copy selection from active doc to pasteboard
‘create new doc, paste selection and
‘save it as a new DOCX file in a temp folder on c: drive
‘To be clear: there won’t be any change made to the original doc
ThisDocument.Save
Selection.Copy
Documents.Add DocumentType:=wdNewBlankDocument
Selection.PasteAndFormat (wdPasteDefault)
Selection.HomeKey Unit:=wdStory
ActiveDocument.BuiltInDocumentProperties(wdPropertyTitle) = MyTitle
ActiveDocument.SaveAs2 FileName:=”C:\export\draft.docx”, _
FileFormat:=wdFormatDocumentDefault
‘Close the new docx and run Calibre CLI to convert it to epub and mobi,
‘in my case, files are saved into SkyDrive folder
‘–page-breaks-before=””//h:h2″” insert a page break before Level 2 title,
‘change to h1 to insert the break before each level 1, and so on.
‘Change path with your user name and desired output folder:
ActiveDocument.Close
Shell “ebook-convert C:\export\draft.docx C:\Users\David\SkyDrive\draft.epub –page-breaks-before=””//h:h2″””, vbHide
Shell “ebook-convert C:\export\draft.docx C:\Users\David\SkyDrive\draft.mobi –page-breaks-before=””//h:h2″””, vbHide
End Sub
Edit : le script au format TXT
Pour le lancer, il suffit de sélectionner tout le texte de votre fichier (ctrl+a), ou seulement la section que vous souhaitez relire, et d’exécuter la macro… Je vous suggère de lui assigner un raccourci clavier et de l’ajouter à la barre d’accès rapide dont je ne cesserai jamais de dire à quel point elle est pratique.
Tu peux me réexpliquer à quoi ça sert ?
Comme je l’ai déjà dit : ça me semble une façon acceptable de relire et annoter mon manuscrit sur une tablette—notez que je ne parle pas de le réécrire de fond en comble : je ne me vois pas faire ça sur une tablette, de toute façon.
Mais il y a un autre intérêt à la chose : en le lisant comme un epub/mobi, sur une tablette ou une liseuse, je vais lire mon roman exactement dans les mêmes conditions que mon (très hypothétique) lecteur. C’est pas mal, pour savoir si on a réussi à écrire une histoire qui donne envie de tourner les pages, ou de faire défiler l’écran, pour paraphraser le maitre incontesté en tournage de pages : Stephen King—t’as vu comme je me greffe à l’actualité du moment ? Trop fort.
Je peux facilement imaginer aussi filer cet ePub à mes beta lecteurs (enfin, si j’en ai), et leur demander de me renvoyer uniquement leurs annotations.
Bref, c’est une expérience à tenter. Et le script me permet de le faire sans me prendre la tête. Et sans quitter Word.
Il y a des limites ?
Surement un paquet. Je ne vais vraiment commencer à l’utiliser, et voir si c’est viable, que dans les jours qui viennent.
En plus de ça, mon but n’est pas de faire un ebook destiné à la publication mais un fichier que je puisse (faire) lire sur tablette ou liseuse, pour corriger mon manuscrit : je me fiche des petits problèmes éventuels de mise en page. On notera quand même que Calibre fait un assez bon boulot, pour pour peu que l’on utilise correctement les styles dans Word.
<
p>Edit: Sur le même sujet, Exporter les commentaires d’un fichier Word
Pingback: S’isoler pour travailler | davidbosman.fr
Pingback: Envoyer des ebooks au Kindle, depuis Calibre | davidbosman.fr
Pingback: OneNote, Notational Velocity et les autres se tiennent la main et font la ronde | davidbosman.fr