Вы также можете использовать короткий макрос из LibreOffice для удаления всех изображений в документе:
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
Этот пример также можно изменить, чтобы изменить свойства изображений (например, сделать их все одинакового размера), а также обработать объекты формы и т. Д.
Создание макросов
LibreOffice предоставляет базовый язык, а также IDE для создания, отладки, хранения и запуска кода.
Чтобы открыть диалоговое окно макроса, используйте Alt+ F11или в меню Инструменты > Макросы > Упорядочить макросы > LibreOffice Basic.
Код размещается в модулях , которые организованы в библиотеки . Вы можете создать свой собственный, но для большинства целей вы можете использовать встроенную библиотеку MyMacros и встроенный модуль Module1 .
Как только диалоговое окно макроса открыто, выделите Module1 и нажмите Edit . Это открывает IDE.
Код организован в подпрограммы и функции. Заимствуя из VBA, функции используются для возврата значения, а подпрограммы не возвращают значение. Вы можете определить свои собственные сабвуферы и функции в любом месте ниже Main. Чтобы использовать этот код для удаления изображений, просто вставьте его в модуль.
Использование макросов
Вы можете запустить код прямо из IDE, щелкнув в любом месте внутри Sub, который вы хотите запустить, и нажмите F5. (Функции, так как они возвращают значение, должны вызываться из Sub.) Вы также можете использовать диалоговые кнопки или меню для запуска кода. IDE включает в себя встроенный отладчик, который имеет решающее значение при написании нового кода.
В следующий раз, когда вы откроете диалоговое окно макроса, вы увидите подпрограмму, перечисленную как макрос, и ее можно будет запустить без открытия IDE. Отдельные макросы также могут быть назначены элементам меню или панели инструментов.
Примечание: этот макрос будет работать на любом активном документе. При запуске макроса из меню или диалогового окна макроса это может быть документ, в котором вы только что нажали кнопку; но при использовании IDE для создания, запуска или отладки кода убедитесь, что вы не сделали другой документ активным документом.
LibreOffice Basic
LibreOffice Basic очень похож на VBA, но это сходство также может быть обманчивым, поскольку объектная модель совершенно другая и синтаксис также имеет много различий.
Например, в VBA, если у вас есть ссылка на объект изображения, у объекта изображения будет метод удаления. Здесь объекты имеют или наследуют очень мало методов. Чтобы удалить объект изображения, вы используете элемент документа со структурой и синтаксисом, очень похожим на DOM на основе браузера.
Справка LibreOffice содержит ссылки для начала работы с LibreOffice Basic.