Проблема с работой макроса VBA в LO calc

Автор Kayot, 28 января 2016, 13:10

0 Пользователи и 1 гость просматривают эту тему.

Kayot

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

rami

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

Kayot

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

Kayot

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

rami

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

Kayot