Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

25 Ноябрь 2020, 23:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Проблема с работой макроса VBA в LO calc  (Прочитано 3287 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Kayot
Новичок
*
Offline Offline

Сообщений: 4


« Стартовое сообщение: 28 Январь 2016, 13:10 »

Если кто сможет помогите пожалуйста! Есть у меня макрос VBA создает на базе фала Excel  файл DBF. Так вот, нужно это осуществить на чужом компе а там тока LO.
Запуск  Excel макроса XlsToDbf, стоять в ячейке А1.
Код и ошибка в файле Xls.
Плиз хелп.

* Трабл.xls (270.5 Кб - загружено 10 раз.)
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 029


iMac, LibreOffice и Apache OpenOffice


« Ответ #1: 28 Январь 2016, 15:25 »

Если кто сможет помогите пожалуйста! Есть у меня макрос VBA создает на базе фала Excel  файл DBF. Так вот, нужно это осуществить на чужом компе а там тока LO.
Запуск  Excel макроса XlsToDbf, стоять в ячейке А1.
Код и ошибка в файле Xls.
Ошибка возникает из-за того, что в строке Dim FldHead() As New DBFField  ' Массив с описаниями полей (продолжение области заголовка) LibreOffice создаёт пустой массив неизвестного типа (As New DBFField). После FldHead нужно убрать (), тогда получится переменная типа As New DBFField. Дальше тоже есть ошибки в макросах Грустный
Записан

Kayot
Новичок
*
Offline Offline

Сообщений: 4


« Ответ #2: 28 Январь 2016, 15:34 »

Спасибо за ответ.
В Excel все работает...
Я вроде бы читал, что макросы VBA работают в LO calc, но нужно настроить. Видать это и есть настройка?
Записан
Kayot
Новичок
*
Offline Offline

Сообщений: 4


« Ответ #3: 28 Январь 2016, 15:58 »

Уважаемый Rami а какая здесь ошибка?
Извиняюсь за не скромность... Всё хорошо

* Трабл2.xls (197.5 Кб - загружено 12 раз.)
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 029


iMac, LibreOffice и Apache OpenOffice


« Ответ #4: 28 Январь 2016, 17:22 »

Я вроде бы читал, что макросы VBA работают в LO calc, но нужно настроить. Видать это и есть настройка?
Строка кода Option VBASupport 1 в самом начале означает поддержку макросов VBA, но поддержка не полная, а только большую часть кода, кое-что не поддерживается.
а какая здесь ошибка?
Строка кода
Код:
FldHead(i).SetFormatField rngTable(2, i + 1), rngTable(1, i + 1)
передаёт в функцию SetFormatField не понятно что, если написать кавычки
Код:
FldHead(i).SetFormatField(rngTable(2, i + 1), rngTable(1, i + 1))
то будет передавать два объекта, которые эта функция пытается преобразовать в строки, получаются две пустые строки. Результат — функция Mid пытается извлечь "сферического коня" из вакуума Смеющийся. Как это исправить не знаю, в переданных параметрах не вижу ничего подходящего.
Записан

Kayot
Новичок
*
Offline Offline

Сообщений: 4


« Ответ #5: 28 Январь 2016, 17:54 »

Спасибо! Буду думать...
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!