Форум русскоязычного сообщества Ubuntu


Автор Тема: Проблема с работой макроса VBA в Libre Office calc  (Прочитано 2210 раз)

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

Оффлайн Kayot88

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

Оффлайн staso

  • Активист
  • *
  • Сообщений: 437
    • Просмотр профиля
Re: Проблема с работой макроса VBA в Libre Office calc
« Ответ #1 : 28 Января 2016, 19:07:55 »
Module XlsToDbf
============

Sub CreateDbfHead()
    nCntFld = rngTable.Columns.Count
    ReDim FldHead(nCntFld - 1)

================

Ошибка времени выполнения BASIC.
'9'
Индекс за пределами заданного диапазона.

=================
Неужели трудно отладить?

Оффлайн Kayot88

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Проблема с работой макроса VBA в Libre Office calc
« Ответ #2 : 28 Января 2016, 21:43:45 »
Мил человек!) Было бы легко, не отнимал бы Вашего драгоценного времени! А зачем Вы мою ошибку просто переписали?  ??? Это кстати уже "отладил" ув.Rami."Ошибка возникала из-за того, что в строке Dim FldHead() As New DBFField  ' Массив с описаниями полей (продолжение области заголовка) LibreOffice создаёт пустой массив неизвестного типа (As New DBFField). После FldHead нужно убрать (), тогда получится переменная типа As New DBFField" НО!!
Вот эта(Трабл2) пока не "отлаживается".
Строка кода
FldHead(i).SetFormatField rngTable(2, i + 1), rngTable(1, i + 1)
передаёт в функцию SetFormatField не понятно что, если написать кавычки
FldHead(i).SetFormatField(rngTable(2, i + 1), rngTable(1, i + 1))
то будет передавать два объекта, которые эта функция пытается преобразовать в строки, получаются две пустые строки. Результат — функция Mid пытается извлечь "сферического коня" из вакуума. Как это исправить не знаю, в переданных параметрах не вижу ничего подходящего.

Как то получается не очень получается. С libreOffice calc сталкиваюсь впервые. В excele все работает замечательно.
 
 

 

Страница сгенерирована за 0.028 секунд. Запросов: 25.