Vous pouvez également utiliser une courte macro à partir de LibreOffice pour supprimer toutes les images d'un document:
Sub RemoveImages
Dim oDoc as Object
oDoc = ThisComponent
Dim oGraphics as Object
oGraphics = oDoc.getGraphicObjects()
Dim oImg as Object
For Each oImg in oGraphics
oDoc.getText().removeTextContent(oImg)
Next
End Sub
Cet exemple peut également être modifié pour changer les propriétés des images (comme les rendre toutes de taille uniforme) ainsi que la manipulation des objets de forme, etc.
Création de macros
LibreOffice fournit un langage de base ainsi que dans l'IDE pour créer, déboguer, stocker et exécuter du code.
Pour ouvrir la boîte de dialogue des macros, utilisez Alt+ F11ou, dans le menu, Outils > Macros > Organiser les macros > LibreOffice Basic
Le code est placé dans des modules , qui sont organisés en bibliothèques . Vous pouvez créer le vôtre, mais dans la plupart des cas, vous pouvez utiliser la bibliothèque MyMacros intégrée et le Module1 intégré .
Une fois la boîte de dialogue macro ouverte, sélectionnez Module1 et appuyez sur Modifier . Cela ouvre l'IDE.
Le code est organisé en sous-fonctions et fonctions. Empruntant à VBA, les fonctions sont utilisées pour renvoyer une valeur et les Subs ne renvoient pas de valeur. Vous pouvez définir vos propres sous-marins et fonctions n'importe où sous Main. Donc, pour utiliser ce code pour supprimer des images, il vous suffit de le coller dans le module.
Utilisation de macros
Vous pouvez exécuter le code directement à partir de l'EDI en cliquant n'importe où dans le Sub que vous souhaitez exécuter et en appuyant sur F5. (Les fonctions, car elles renvoient une valeur, doivent être appelées à partir d'un Sub.) Vous pouvez également utiliser les boutons de dialogue ou le menu pour exécuter le code. L'IDE comprend un débogueur intégré, ce qui est crucial lors de l'écriture de nouveau code.
La prochaine fois que vous ouvrirez la boîte de dialogue de macro, vous verrez le sous répertorié comme une macro et il pourra ensuite être exécuté sans ouvrir l'IDE. Des macros individuelles peuvent également être affectées à des éléments de menu ou de barre d'outils.
Remarque: Cette macro s'exécutera sur tout ce qui est le document actif. Lorsque vous exécutez une macro à partir du menu ou de la boîte de dialogue de macro, cela peut être supposé être le document où vous venez d'appuyer sur le bouton; mais lorsque vous utilisez l'IDE pour créer, exécuter ou déboguer du code, assurez-vous que vous n'avez pas fait d'un autre document le document actif.
LibreOffice Basic
LibreOffice Basic est très similaire à VBA, mais cette similitude peut également être trompeuse car le modèle d'objet est complètement différent et la syntaxe présente également de nombreuses différences.
Par exemple, dans VBA, une fois que vous avez une référence à un objet image, l'objet image aurait une méthode de suppression. Ici, les objets ont ou héritent de très peu de méthodes. Pour supprimer l'objet image, vous utilisez l'élément de document avec une structure et une syntaxe très similaires à un DOM basé sur un navigateur.
L'aide de LibreOffice contient des liens pour démarrer avec LibreOffice Basic.