Страница: 1 |
Страница: 1 |
Вопрос: макрос Excel_VBA конвертировать в макрос OO
Добавлено: 29.05.07 13:33
Автор вопроса: Черкашин
Всем привет! Такая проблема возникла: переходим на Линукс, надо рабочий макрос (VBA Excel) заставить работать в OpenOffice.org. Использую Excel 2002 SP-2 и ОО 2.0.3 под виндой ХР. При попытке просто запуска в ОО получаю сообщение "Синтаксическая ошибка BASIC. Неожиданный символ. Base" несколько раз подряд - каждый раз, где встречается следующее присваивание:
При этом в Excel код чудесно работает.
О макросе: содержит выпадающие списки, где кассир выбирает нужное ФИО и др. информацию. Создается им еще и панелька с кнопками для редактирования, добавления, удаления элементов данных списков.
Вот пример далнейшего использования 'bs' в коде:
'Вызов формы управления справочником
ASN = ActiveSheet.Name
If ASN = "Видатковий" Or ASN = "Прибутковий" Then
deact_0 (0) 'Установка признака деактивации Combo в 0
Load Sprav
bs = Base 'Тут идет выброс сообщения об ошибке
Set_OptionButton bs 'Установка переключателей
Load_List bs, 0 'Загрузка списка
Sprav.Show
End If
End Sub
Function Base()
'Текущая база
Base = Sheets("Param").Cells(5, 1)
Base = CStr(Base)
If Not (Base = "BaseKas" Or Base = "BaseFil" Or _
Base = "BaseOffice" Or Base = "BasePidstVdtk" Or _
Base = "BasePidstPrbtk") Then
Base = "BaseKas"
End If
End Function
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
Черкашин
Вопросов: 3
Ответов: 8
Профиль | | #1
Добавлено: 29.05.07 13:36
Так вот, как заставить макрос работать в ОО и при этом желательно без потерь времени на доработку?
Заранее большое спасибо за помощь
Номер ответа: 2
Автор ответа:
ferico
Вопросов: 2
Ответов: 31
Web-сайт:
Профиль | | #2
Добавлено: 05.10.07 16:39
Возможно нужно явно задавать тип функции.
А вообще не проще ли передавать значение через переменную?
Также можно попробовать передавать Base через параметр функции или процедуры.