Либре офис как сделать макрос

Добавил пользователь Владимир З.
Обновлено: 09.09.2024

VBA-макросы для обработки текстовых файлов и файлов в формате MS Word и LO Writer

Данные макросы (noneol, spec_c01, singlstr) решают следующие задачи:

У автора ежемесячно пишутся различные макросы, с которыми он с удовольствием делится с читателями.

Не смотря на то, что технология макросов достаточно стара, она и сегодня находит широкое применение при обработке текстов в текстовых процессорах, редакторах и т.п.

Данные макросы распространяются по публичной лицензии GPL v.2 (open source) и является бесплатными для некоммерческого использования.

На 17.12.2011 доступны следующие макросы:

Документация к макросам расположена в архиве вместе с макросами.

В настоящее время автор продолжает писать новые макросы и обновлять документацию к ним.

Для запуска данных макросов к системе предъявляются следующие требования:

a) Для макросов VBA MS Word:

  • IBM PC – совместимый компьютер с процессором Pentium III и 512 Мб RAM, или лучший;
  • операционная система: Microsoft Windows XP и выше;
  • Программа Microsoft Word из пакета Microsoft Office 2003/2007;

a) Для макросов VBA Writer:

  • IBM PC – совместимый компьютер с процессором Pentium IV и 1024 Мб RAM, или лучший;
  • операционная система: Microsoft Windows XP и выше;
  • Программа Writer из пакета LibreOffice 3.3 и выше;

Для установки макросов используйте следующие инструкции:

a) VBA for MS Word (ручная установка);

b) VBA for Writer (ручная установка);

c) Шаблоны MS Word с макросами (вместе с программой установки);

c) Шаблоны MS Word с макросами (без программы установки);

Для запуска макросов в Microsoft Word необходимо:

Для запуска макросов в LibreOffice Writer необходимо:

  1. Нарушение логической последовательности при запуске макросов;

См. документацию к макросам;

Успехов Вам в использование программ! Good Luck! Dankon!

1. Ахметов К.С., Федоров А.Г. Microsoft Internet Explorer 4.0 для всех. — М.: КомпьютерПресс, 1997. — 336 с. — ил.;

2. Гайдышев И.П. Решение научных и инженерных задач средствами Excel, VBA и C/C++ — СПб: БХВ-Петербург, 2004, — 512 с.:ил.;

3. Камминг С. VBA для "чайников" 3-е издание: Пер. с англ. — М: Издательский дом Вильямс, 2001. — 448 с.:ил.;

4. Слепцова Л.Д. Программирование на VBA. Самоучитель. — М: Издательский дом Вильямс, 2004. — 384.:ил;.

Copyright © Юрий А. Денисов
(yudenisov)
2006-2012. Все права защищены

Инструментальные средства информационных систем [Текст] + [Информационный ресурс]: методические указания к выполнению курсовой работы для студентов очной формы обучения по направлению подготовки 09.03.02 – Информационные системы и технологии. Брянск: БГТУ, 2017.– 28 с.

канд. техн. наук, доц.

Методические указания публикуются в авторской редакции

Научный редактор Р.А. Филиппов

Компьютерный набор Ю.М.Казаков

Подписано в печать . Формат 60х84 1/16. Бумага офсетная. Офсетная печать. Усл. печ.л. 1,74. Уч.-изд.л. 1,74. Тираж 1 экз.

Брянский государственный технический университет

241035, Брянск, бульвар 50лет Октября, 7, БГТУ

Цель работы

Целью работы является закрепление и развитие навыков использования программных продуктов для решения некоторых задач математики, обработки информации, которые понадобятся в процессе дальнейшего обучения в вузе и в профессиональной деятельности специалиста.

Макросы в LibreOffice

Для того чтобы провести работу с текстом или обработать текст каким-либо сложным образом и обычных средств, предоставляемых интерфейсом для этого не хватает. LibreOffice позволяет создавать специальные макросы, являющиеся по сути процедурами обработки текста и данных в Writer и Calc, написанные на языке программирования, в нашем случае в качестве языка программирования выступает язык Бэйсик. При этом, обладая множеством всех стандартных операторов присущих языкам программирования высокого уровня, возможно получить доступ к объектам Writer и Calc, открытым документам, функциям открытия документов, всем объектам данного документа включая рисунки, параграфы, колонтитулы, выделенный текст, списки, слова, буквы, шрифты и т.д.

Объекты и классы

Объекты имеют какие-то общие свойства, благодаря которым мы относим каждый объект к какому-то классу объектов. То же самое можно сказать и о тексте или документе, документ, это объект, который содержит объект текст, а объект текст содержит объекты слова, абзацы, буквы, текст редактируется, меняется, отображается, документ создается и сохраняется. Все эти действия мы выполняем с данными объектами, используя функции редактора, но можем эти функции вызвать с помощью алгоритмического языка.

Существует набор стандартных операторов, с помощью которых можно написать практически любой алгоритм, любой сложности – это ветвление, цикл, линейная последовательность выполнения операторов, арифметические действия и возможность обращения к переменным и записи в них каких-то значений или результатов логических или арифметических выражений. Обычно в языках высокого уровня стараются избежать сложной работы с памятью присущей машинным языкам, вводится стандартная операция присвоения, которая позволяет некоторой – переменной – символьной последовательности присвоить какое-то значение. Поэтому каждой переменной ставится в соответствие какой-то тип данных, или домен или область определения тех значений, которые она может принимать. Обычно в языках программирования – это целочисленные типы, вещественные, строковые, символьные, логические, перечислимые, множества, комплексные числа, тип запись или структуры. Так что же такое переменная объект, это некая ссылка на объект, являющийся сложной структурой данных, которая ко всему прочему может содержать методы работы с этими данными и объектом, а также защищать данные и ограничивать или разрешать к ним доступ.

Переменная-объект, это переменная, которая содержит в себе другие объекты, свойства и действия, производимые над объектом, объект является конкретной реализацией, какого-то класса (класс есть описание, некого множества объектов с одними и теми же свойствами). Обычно доступ к свойствам и функциям сложных типов данных (таких как классы) осуществляется путем написания имени переменной объекта, а затем через точку имени функции и или свойства данного объекта.

Переменные и объекты в Basic

Для объявления переменной указывается ключевое слово dim и затем список переменных через запятую, слово as и тип переменной.

Dim a,b as integer – объявление переменной целого типа. Dim s as string – объявление переменной строкового типа.

Dim mass() as integer – объявление динамического одномерного массива целого типа. Redim mass(100) – изменение длины массива и установка ее равной 100.

Dim desk as com.sun.star.frame.Desktop — переменная типа desktop унифицированной сетевой модели UNO, данная переменная может ссылаться на объекты типа Desktop.

В языке Basic можно обращаться к переменным представляющим собой ссылки на объекты, это могут быть объекты текст, параграфы, таблицы, отображаемые на экране окна, они обладают набором свойств и методов работы с данными объектами. Объектная модель может быть любой, как и ее реализация, например в пакете Microsoft Office реализована своя объектная модель, в пакете LibreOffice или OpenOffice своя, потому объекты и способ взаимодействия с этим объектами в этих различных пакетах отличаются.

Операторы Basic

Оператор цикла For.

For index=n1 to n2 [step s] Rem тело цикла

Переменная Index пробегает значения от n1 до n2 c инкрементацией s (увеличение на s), в данном случае s может быть переменной или константой целого типа, квадратные скобочки указывают на то, что конструкция является не обязательной, в случае если она не указывается то шаг равен 1.

For xyz = 4 to 50 step 4 val=val+xyz

Алгоритм вычисляет сумму значений от 4 до 50 с шагом 4, то есть сумму 4, 8, 12, 16 .

до 48 в переменную val. val1 =0

For aval = 1 to 50 val1=val1+aval next aval

В данном случае рассчитывается сумма целых чисел от 1 до 50.

Оператор цикла While, делай пока выполняется условие. Операторы внутри цикла повторяются до тех пор пока выполняется условие.

While операторы Wend

Пример: While i then

Пример: если I меньше 100 (если условие выполнено) то увеличить I на 1, иначе уменьшить на 1.

В OpenOffice и LibreOffice имеются возможности писать макросы(думаю, тут Америку не открыл). Существует ли справочник по данным макросам? (Команда и что она делает). Основы, понятно соответствуют языку программирования. Использую макросы на Basic. Но как достучаться до ячеек в Calc, текстовых полей Base и т.д.

Вопрос по макросам!
Создать макрос который фильтрует данные в таблице "Кафедры" по году образования сохраняйте.

Вопрос по макросам
Самостоятельно создайте, используя средство автоматического создания макросов. Назначьте созданный.

Помощь по макросам
Всем привет! Снова прошу вашей помощи, гиганты AVR :) Ребята, очень хочу научиться использовать.

теория по макросам
Опредлить правильную последовательность команд по записи макроса Word: - Нажать Панель, далее в.

Решение

Интересная задача по макросам
Всем привет! Помогите решить следующую задачу: Есть макрос, который выполняет специальные.

Однин вопросик по макросам!
Прошу Вас! Cоздайте функцию пользователя в соответ¬ствии с вариантом задания. В тексте записки.

Зaдaчa по макросам (пoмогитe)
Напишите макрос, который выводит на экран шапку таблицы. В основной программе осуществить выведение.

World of Warcraft: Гайд по Макросам
Общая структура макроса на применение спеллов и абилок: /cast spell1; spell2; etc. .

Я недавно перешел на pclinuxos из окон, и мне это нравится. Единственная проблема, с которой я столкнулся, заключается в том, что libreoffice, пакет электронных таблиц по умолчанию, несовместим с макросами Excel. Ниже приведен код vba, который у меня есть:

Есть ли способ преобразовать этот код, чтобы сделать его совместимым с libreoffice, или мне нужно выучить совершенно новый язык, например python? Изучение python не будет проблемой, но не является решением моей проблемы, поскольку у меня есть много файлов, связанных с работой, в excel, которые содержат много кода vba, и я не могу использовать открытый офис / libreoffice на работе .

Вы должны перевести части, которые управляют документом, чтобы использовать UNO API. К сожалению, это может быть сложно в зависимости от того, что делает ваш макрос. Основные утверждения работают напрямую. Как правило, при изменении документа этого не происходит.

Команда Cells возвращает определенную ячейку на основе строки и столбца. Итак, вам нужна текущая строка. Вот какое безумие получить активную ячейку:

Когда у вас есть активная ячейка, вы получаете адрес ячейки, а из него - строку. Вам вообще не нужно использовать диапазон, поскольку вас интересует только одна ячейка, поэтому вы получаете активный лист, а затем получаете конкретную ячейку из листа.

Примерно так: ThisComponent.getCurrentController (). GetActiveSheet (). GetCellByPosition (nCol, nRow) .getString () = "a"

Я не хочу разбираться в том, что это делает

Из файла интерактивной справки LibreOffice:

За некоторыми исключениями, Microsoft Office и LibreOffice не могут запускать один и тот же код макроса. Microsoft Office использует код VBA (Visual Basic для приложений), а LibreOffice использует код Basic, основанный на среде LibreOffice API (интерфейс прикладных программ). Хотя язык программирования тот же, объекты и методы разные.

Самые последние версии LibreOffice могут запускать некоторые сценарии Excel Visual Basic, если вы включите эту функцию в LibreOffice - PreferencesTools - Параметры - Загрузить / Сохранить - Свойства VBA.

На самом деле вам, скорее всего, придется сесть за LibreOffice API. и перепишем функционал.

Единственный автоматический инструмент, о котором я знаю, - это бизнес-таблицы (обратите внимание, что у меня нет личных или профессиональный опыт, или какое-либо отношение к сайту).

Это похоже на OpenOffice, но я думаю, что он работает и с LibreOffice.

В общем, лучше сделать это самому, инструмент далек от совершенства .

В LibreOffice 4.4 первая подпрограмма не будет работать вообще (я подозреваю, что все переменные начинаются с 'xl'. Две другие работают отлично, если вы измените ThisCell на ActiveCell.

Читайте также: