Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Openoffice макросы excel

Совместимость c MS Office: Часто задаваемые вопросы

Часто задаваемые вопросы по совместимости включают в себя также вопросы по сохранению в форматы MS Office и импорту данных форматов.

Принять участие в проекте!
Общие вопросы
Форматирование ответов
Вопросы использования
Популярные разделы:
Writer: Часто задаваемые вопросы
Calc: Часто задаваемые вопросы
Орфография и грамматика
Полезности и секреты
Главная страница

Содержание

Форматы файлов

Как открыть файл shs?

  • Использовать конвертор файлов scrap2rtf .shs -> .rtf scrap2rtf (для текстовых документов).
  • Распаковать shs файл архиватором 7zip, и дописать расширение нового файла вручную (для электронных таблиц).

Работая в OpenOffice.org, сохранять тоже надо в его формате?

OpenOffice.org поддерживает формат документов Microsoft Office. И его можно даже настроить так, что по умолчанию документы будут сохраняться в формате Microsoft Office!

Однако необходимо знать, что форматы Microsoft Office являются закрытыми, и вышеописанная поддержка стала возможной благодаря использованию методов «обратной разработки». Поэтому не исключается некоторая несовместимость документов, созданных с помощью OpenOffice.org в формате Microsoft Office, с документами, созданными непосредственно в Microsoft Office.

При сохранении файлов формата xls, полученным из программ 1С, в OpenOffice.org, файл получается испорченным

Программы 1С сохраняют данные в устаревшем формате xls-95. OpenOffice.org версии 3.2 успешно открывает такие файлы, но не может сохранить в них кириллические символы. Решить проблему поможет расширение xls_1C, которое блокирует сохранение в формат xls-95, заменяя его форматом xls-97-2003.

При открытии файлов RTF во Writer не сохраняется форматирование, а в MS Word тот же файл открывается корректно

Проблема в том, что импорт RTF реализован не полностью, особенно если не соблюдаются стандарты записи. В этом случае Вы можете использовать WordViewer и копирование и вставку через буфер обмена. Использование формата DOC предпочтительнее, чем RTF и DOCX.

Как массово переформатировать файлы doc в odt?

Файл — Мастер — Конвертер документов позволяет конвертировать файлы doc, xls и ppt

Как из командной строки конвертировать файлы из одного формата в другой?

Стандартными средствами OpenOffice сделать это можно только в графическом интерфейсе.

Есть несколько вариантов решения проблемы:

  • Программа, использующая uno интерфейс OpenOffice Unoconv
  • Программа-конвертор (независимая от OpenOffice), например o3read
  • Написать свой макрос.

Обмен файлами с MS Office

Можно ли сделать так, чтобы все файлы автоматически сохранялись в соответствующем формате MSO?

Да, вы можете указать, в каком формате автоматически сохранять файлы. Для этого зайдите в Сервис — Параметры — Загрузка/сохранение — Общие — Формат файла по умолчанию и установите требуемые вам параметры.

Есть документ MS Word, в котором есть несколько связей с другими документам. При открытии этого документа в ОО, они не отображаются.

К сожалению, связи между документами в ООо организованы иначе.

В файле xls названия листов содержат точку в конце. При открытии в Calc точка заменяется на подчеркивание, при этом соответственно заменяются ссылки в самом файле. И все без единого предупреждения. Зачем это надо?

Таким образом OOo Calc предотвращает появление в названиях листов недопустимых символов. Подобная замена — одна из проблем совместимости офисных пакетов и свидетельствует о различии в подходах к использованию спецсимволов в названиях листов электронных книг.

Может ли ООо открывать файлы MS Office 2007?

Да, начиная с версии OpenOffice.org 3.0.

В более ранних версиях необходимо наличие дополнительных конвертеров:

  • Конвертер от Novell поддерживает файлы docx и xlsx: загрузить
  • Сборка ООо 2.3.0 от Novell, входящая в состав OpenSUSE 10.3, в настоящее время также поддерживает эти форматы.
  • Конвертер от Microsoft (docx -> doc): (только для Win2K и старше, не требует наличия MS Office, может работать с WordViewer и ExcelViewer, 27Mb).
  • Конвертер odf-converter командной строки
  • Конвертер odf-converter с графическим интерфейсом
Полноценная поддержка форматов всеми сборками ООо реализована в версии 3.0 и старше

Как открыть файл .xlsx (Excel 2007), если в распоряжении имеются только ООo 2.3 (или старше) и MS Office XP?

Возможны несколько вариантов:

Можно ли в Microsoft Office открывать файлы ODF?

Необходимо установить ODF Plugin от SUN для MSO 2007 и младше. MSO 2010 умеет открывать ODF. WordPad из Windows 7 умеет открывать ODF.

Откроет ли получатель файлы ООо, присланные по почте, если у него Openoffice.org не установлен, а есть Microsoft Office?

Да, если выполнить любое из перечисленных действий:

  • Сохранить документ в одном из форматов, поддерживаемых в MS Office: doc, rtf, txt, xls. Кроме стандартной команды Сохранить как, для этой цели можно:
    • использовать специальную команду ООо для автоматической конвертации и отправки документов по электронной почте в формате MSO, см. Можно ли отправить по электронной почте файл в формате MSO средствами ООо?;
    • установить расширение ООо mult >2.3

    При защите листов Calc паролем при конвертации в формат MSO защитный пароль не сохраняется. И точно также при открытии xls Calc’ом

    Совместимость со сторонним ПО, требующим использования MSO

    В сторонней программе выводятся отчёты в MSO (Word, Excel). На компьютере установлен только ОО. При обращении к этой функции, программа выводит ошибку, что не установлен пакет MSO. Как обойти эту проблему, что делать?

    Как правило, никак. Если стороннее ПО обращается к MSO как к OLE-объектам, то ООо не сможет заменить MSO.

    Обращайтесь к разработчикам стороннего ПО.

    Существует проект AutomateIT! по реализации интерфейса OLE для ОО как у MSO. Проект ещё находится в состоянии «альфа», то есть находится в состоянии разработки и интерфейс OLE поддерживается не полностью. Текущая версия — 0.7 — alfa имеет инсталлятор, работает с версиями OpenOfice.Org 2.x, 3.0 beta. Авторами заявлена совместимость с «Налогоплательщик ЮЛ» и Windows Vista.

    Проект Uni Office@Etersoft – транслятор COM-объектов MS Office. На данный момент (версия 0.2) поддерживаются только COM-объекты Excel.

    Сравнительная таблица AutomateIT! 0.6 и Uni Office 0.1

    В ООо Calc не работает «Отчет200х» — программа для сдачи налоговой отчётности

    К сожалению, решить эту проблему в настоящее время не представляется возможным.

    Многое из современного ПО требует наличия MSO на компьютере пользователя в той или иной степени. Будет ли решена эта проблема для пользователей ООо?

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

    Как сделать код vba совместимым с libre office

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

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

    Я просто хочу добавить, что функция SinceLastWash дает правильное значение в некоторых ячейках, где я их использую, а в других — ошибка, #NAME?

    vba excel openoffice.org libreoffice

    5 ответов

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

    Самые последние версии LibreOffice могут запускать некоторые сценарии Excel Visual Basic, если вы включите эту функцию в LibreOffice — PreferencesTools — Options — Load/Save — VBA Properties.

    В действительности вам, скорее всего, нужно будет с API LibreOffice и переписать функциональность.

    1 Andrew [2015-10-29 17:19:00]

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

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

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

    Что-то вроде этого: ThisComponent.getCurrentController(). GetActiveSheet(). GetCellByPosition (nCol, nRow).getString() = «a»

    Мне не нравится выяснять, что это делает

    1 djikay [2014-07-13 18:25:00]

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

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

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

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

    Openoffice макросы excel

    Чтобы создать свой макрос в OpenOffice . org не обязательно быть программистом. В OpenOffice . org имеется встроенная программа регистратор которая может запоминать все действия пользователя с документом и записывать их последовательно в специальный текстовый модуль называемый Макрос.

    2.1. Запись макроса

    Для автоматического создания макроса необходимо выполнить следующие действия

    Откройте документ, для которого нужно записать макрос.

    Выберите команды Сервис => Макросы => Записать макрос .

    Откроется маленькое диалоговое окно Запись макроса с одной только кнопкой « Завершить запись» (Рис. 1).

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

    Нажмите клавишу ESC, чтобы снять выделение объекта, поскольку в настоящее время макрорегистратор не записывает это действие, произведенное щелчком мыши.

    Нажмите кнопку « Завершить запись» .

    Откроется диалоговое окно Макрос , в котором можно сохранить и выполнить макрос (Рис.2).

    Если нужно прервать запись, не сохраняя макрос, нажмите кнопку Закрыть в диалоговом окне Макрос .

    Чтобы сохранить макрос в файле лабораторной работы, сначала в списке Сохранить макрос в выберите объект (например, Лаб.раб.7 ), в котором хотите сохранить макрос.

    Если нужно сохранить макрос в новой библиотеке или модуле, нажмите кнопку Новая библиотека или Новый модуль и введите имя библиотеки или модуля.

    В текстовом поле Название макроса введите имя нового макроса.

    Нажмите кнопку « Записать» .

    Следующие действия не регистрируются:

    Открытие окон не регистрируется.

    Действия, выполненные в других окнах (где регистратор не запущен), не регистрируются.

    Переключение окон не регистрируется.

    Действия, не связанные с содержимым документа, не регистрируются. Например, изменения, внесенные в диалоговое окно «Параметры», организатор макросов, настройки.

    Выделения регистрируются только в том случае, если они выполняются с помощью клавиатуры (перемещением курсора), но не регистрируются при использовании мыши.

    Макрорегистратор работает только в Calc и Writer.

    Активируйте лист « Макрос », а если его нет, то переименуйте « Лист 1 »;

    Заполните таблицу как на рисунке (Рис. 3)

    Выполните команду Сервис => Макросы => Записать макрос ;

    С помощью автозаполнения заполните первую колонку до 10;

    Нажмите кнопку « Записать »;

    Сохраните макрос с именем «Zadanie1» в файле лабораторной работы (Рис. 4.);

    Примечание: В текущей версии (2.4) русские имена макросов не допускаются.

    Очистите в первой колонке ячейки до исходного состояния, т.е. оставьте заполнеными только первую и вторую ячейки колонки;

    Установите курсор в ячейку A 1 и выполните команду Сервис => Макросы => Выполнить макрос ;

    В открывшемся окне « Выбор макроса » найдите ваш макрос и нажмите кнопку « Выполнить» (Рис. 5).

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

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

    2.2. Редактирование макросов

    Как мы видим, в результате выполнения упражнения 1 макрос получился очень ограниченый. Он автозаполняет только в колонке A и только до десяти, для того, чтобы сделать макрос универсальным, необходимо воспользоваться встроенным редактором разработки макросов и вручную добавить ему необходимые возможности.

    В OpenOffice . org имеется возможность разрабатывать макросы на разных языках программирования, но в данной работе мы воспользуемся OpenOffice . org Basic (Бэйсик). Это связано с тем, что этот язык более похож на макроязык Microsoft Visual Basic for Application ( VBA ) и после его освоения вы сможете без труда разобраться с подобными задачами в Microsoft Office

    Запустите редактор макросов командой Сервис => Макросы => Управление макросами => OpenOffice . org Бэйсик ;

    В диалоге Макрос выберите макрос « Zadanie 1 » и нажмите кнопку редактировать (Рис. 6);

    В окне редактора найдите процедуру Sub Zadanie 1 (Рис. 7.), именно эта процедура запускается на выполнение, когда вы запускаете макрос;

    Отредактируйте процедуру примерно как в листинге 2.2.1(комментарии писать не обязательно)

    Листинг 2.2.1.: Универсальный макрос автозаполнение.

    rem Блок объявления переменных

    dim document as object ‘Ссылка на обьект документ

    dim dispatcher as object ‘ссылка на объект сервис UNO

    dim Selection As object ‘Ссылка на выделенную область в документе

    dim CurRowNumber as Long ‘Номер строки на которой стоит курсор

    dim EndRowNumber as Long ‘Переменная в которую записывается введённое значение

    dim StartCell As String ‘Текстовая ссылка на текущую ячейку

    dim EndCell As String ‘Текстовая ссылка на последнюю ячейку

    rem Здесь определяем переменные для доступа к документу

    document = ThisComponent.CurrentController.Frame ‘ Текущий документ

    dispatcher = createUnoService ( «com.sun.star.frame.DispatchHelper» )

    Selection = document.Controller.Selection ‘ Выделение

    ‘ Номер текущей строки ( счёт с нуля )

    ‘ Имя текущей колонки

    CurColumnName = Selection.Columns.ElementNames (0)

    ‘ Методом конкатенации формируем адрес ячеек

    StartCell = «$» & CurColumnName & «$» & CStr ( CurRowNumber + 1 ) ‘ Начальная ячейка

    ‘Просим пользователя ввести число строк и

    ‘прибавляем это число к номеру текущей строки

    EndRowNumber = CurRowNumber+CLng ( InputBox ( «Введите число :» , «Ввод количества строк (Max 65536)» , «10» ))

    ‘адрес последней ячейки

    EndCell = «$» & CurColumnName & «$» & CStr ( EndRowNumber )

    dim args1 ( 0 ) as new com.sun.star.beans.PropertyValue

    args1 ( 0 ) . Name = «ToPoint»

    ‘Закомментируем значение введённое автоматически

    ‘и заменим нашей переменной для начальной ячейки

    args1 ( 0 ) . Value = StartCell ‘»$A$1:$A$2″

    ‘ Задание стартовой позиции

    dispatcher.executeDispatch ( document , «. uno:GoToCell» , «» , 0, args1 ())

    dim args2 ( 0 ) as new com.sun.star.beans.PropertyValue

    args2 ( 0 ) . Name = «EndCell»

    ‘Заменяем значение на переменную конечной ячейки

    args2 ( 0 ) . Value = EndCell ‘»$A$10″

    ‘ Запускаем функцию автозаполнения

    dispatcher.executeDispatch ( document , «.uno:AutoFill» , «» , 0, args2 ())

    ‘rem dim args3(0) as new com.sun.star.beans.PropertyValue

    ‘dispatcher.executeDispatch(document, «.uno:GoToCell», «», 0, args3())

    Сохраните полученный макрос командой Файл => Сохранить, в редакторе OpenOffice Basic ;

    Для назначения макросу комбинации клавиш выполните команду Сервис => Настройка и откройте вкладку Клавиатура ;

    В открывшемся диалоге в поле Категория выделите модуль, в котором расположен макрос « Zadanie 1 », в поле Функция выделите макрос, после чего в поле Комбинация клавиш выберите свободную комбинацию и нажмите кнопку « Заменить » (Рис.8.);

    Нажмите кнопку ОК ;

    Используя комбинацию клавиш назначенную на макрос заполните список дней недели и месяцев года (Рис. 9.).

    Самостоятельно изучите диалог настройки ( Сервис => Настройка) и назначтьте макрос « Zadanie 1 » на панель инструментов и создайте новое меню Макросы, в которое также назначте макрос.

    Совет: Используйте справку OpenOffice . org . для выполнения заданий. (Клавиша F1 , или меню Справка => Справка по OpenOffice . org )

    Читать еще:  Аналог office word
Ссылка на основную публикацию
Adblock
detector