Excel VBA to OpenOffice Basic converter ?

Автор raptor, 20 февраля 2011, 10:46

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

raptor

Появился Excel VBA to OpenOffice Basic converter http://wiki.tcl.tk/27995

Кто-нибудь может прокомментировать подробно это?

convas

#1
Конвертер строковых выражений программного кода.
Например:
Цитировать
VBA2OO.tcl
...
AddSubst {^Sheets\(\[S\]\)} {ThisComponent.Sheets.getByName()}
преобразует выражение
Sheets("Лист1")
в
ThisComponent.Sheets.getByName("Лист1")

и т.п.

raptor

Это что-то типа переводчика (со словарем в файле VBA2OO.tcl).
Код VBA
Sub RV()
Range("A1").Value = 1111
MsgBox ActiveWorkbook.Name
End Sub

переводит в код OOo Basic
Sub RV()
ThisComponent.CurrentController.ActiveSheet.getCellRangeByName("A1").Value = 1111
MsgBox FileNameOutOfPath(ThisComponent.getURL())
End Sub

Но этот код работает без ошибок только при подключении библиотеки "Tools" (в ней определена функция FileNameOutOfPath)
Sub RV()
If (Not GlobalScope.BasicLibraries.isLibraryLoaded("Tools")) Then GlobalScope.BasicLibraries.LoadLibrary("Tools")
MsgBox FileNameOutOfPath(ThisComponent.getURL())
End Sub

ИМХО, если существенно пополнить словарь VBA2OO.tcl, то может оказать большую помощь начинающим при конвертировании VBA в OOo Basic.

dr.Faust

#3
over 9000 их
Есть и on-line версии.

Ничего не скажу об этом, но все встречаемые до этого работали по одному принципу - автозамена заданных масок с помощью регулярок. При этом хотя каждый и привносил от n до k собственных масок замен, основной костяк составлял набор масок от Novell  который используется в её патче для поддержки VBA который давно в майнстриме. Этот набор масок можно найти в каком-то старом гиде по переходу с VBA на BOOo, от Sun.

P.S.
Но tcl мне нравиться... ;)
Хотя способ загрузки масок из файла ужасен - есть же функция eval...
Свобода информации - свобода личности!