VBA поддршка во OpenOffice.Org Calc
Објавено на 21. Октомври 2009 година од страна Krishnan во Инженеринг , HOWTO , OpenOffice.org , Совети
За многу години до вчера, знаев за OpenOffice.Org Calc. Денес, јас сум возбуден во врска со тоа.
Се обидов ОпенОфис пред многу години. Тоа би можело да се направи неколку работи тогаш, но јас веднаш ги отфрли како несоодветен за моите потреби. Отсекогаш сум бил фан на она што VBA може да направи за Excel.
Минатата недела, јас заврши најкомплексните парче VBA апликација Би некогаш напишана. Јас сум newbie VBA и за тоа ми требаше една недела да си го довршам код кој може да биде отпечатена на 28 страници А4. Мој табела до денес работи беспрекорно во 2003 година XP / Канцеларија како што требаше да се, но јас напишал повеќето од мојот код во Vista / Office 2007.
Кога ќе се надгради Дебиан стискаш, Openoffice.org 3.1.1 дојдоа со неа. Ги проверив од новата верзија и беше импресионирана од тоа што би можело да се напише макроа во Python, Javascript, BeanShell Во прилог на основните.
Се обидов да ја отворам мојата најкомплексните парче VBA код во Openoffice.org и јас бев бомбардиран со стотици повторувачки пораки за грешки кои морав да го убие табела од командната линија. Бев убеден дека VBA и OOoCalc не се компатибилни, додека го открив овој сајт случајно кога се обидуваат да научат да пишуваат го вклучите Javascript-макроа во ООо.
OK. Сè што ми треба за да додадете беше "Опција VBA Поддршка 1". Тоа не звучи премногу тешко, па така се обидов отворање мојата табела повторно и повторно мораше да убие сè од командната линија.
Некои нешто не е во право и јас не сум бил да бидат во можност да се кандидира VBA и покрај ветената компатибилност.
Па решив да одам бавно. Без разлика на тоа колку пати, не можев да се кандидира на макроа кога ја отворив мајчин ексел фајл. Па решив да ја отворам ексел фајл со макроа оневозможено. Тоа дозволете ми да се отвори табела, но ништо не работеше. Сфатив дека OOoCalc автоматски ги додаде: "Опција VBA Поддршка 1" во мојата модули.
Чував датотека како. ОДС, и продолжи да се debug преку овозможување макроа повторно. Овој пат, грешки не доаѓаат во flood.They дојде еден по еден и тоа беше полесно да се debug.
На првиот сет на грешки поврзани со променливи што не имаат експлицитна Дим изјава. VBA во Excel се чинеше повеќе простувањето во справување со varaibles без соодветна Дим извештаи. Но, ООо Calc не ми се свиѓаше. Па јас завршив додавање на неколку Дим извештаи за некои променливи.
Следниот сет на грешки беше со Excel УДФ имиња. ООо Calc сака да видите Функции се повика со големи букви. Значи, ако би се користи мали букви во Excel, тие ќе се појави како грешки. Ова би можело лесно да се фиксни, со употреба на пронаоѓање и заменување функција.
Со само овие две работи, фиксна мојот нов. ОДС датотека работеше совршено. Јас тогаш се снимени како. Xls и повторно да се отвори. Xls и сè беше сеуште работи. Иако ООо Calc документација уште вели дека не сите VBA карактеристики се поддржани, VBA работи добро на OOoCalc за сите практични инженерски пресметки. Значи сега е време за мене да се направи преминот.
Сега, ако имаш тешкотии, во добивање на вашиот VBA код за да работат во ООо Calc, воопшто не се откажат наскоро.

Поврзани мислења:


















































Rakesh
07. Ноември 2009
Здраво,
Јас се обидов прави она што у ги спомнав, но сепак тоа не функционира.
ако SHEET1.CELLS (7, 4) = "" Или SHEET1.CELLS (9, 4) = "" Или SHEET1.CELLS (10, 4) = ""
Во оваа линија јас сум добивање на имот или метод не е пронајдена.
Krishnan
09. Ноември 2009
Синтаксата е очигледно неточни што можам да видам.
Ако, тогаш, друго се клучни зборови за да се користи. Или не.
Џејмс
07. Февруари 2010
ingnoring на "REMS"
како ќе ти е право ова во ООо? i Жаргон работа надвор ООо - pls ме започна?
Рем Под Зборови ()
РЕМ "
Зборови Рем "Макро
Макро Рем 'снимен 2010/7/2 од страна на сопственикот
РЕМ "
Тастатура Рем "Кратенка: Ctrl + W
РЕМ "
Рем Дим NumWords AS Integer
Рем Дим WordLength AS Integer
Рем Дим Грофот AS Integer
Рем Дим Count2 AS Integer
Рем Дим Lcase AS Integer
РЕМ
Рем Дим збор како Стринг
Рем Дим MixedWord Како Стринг
Рем Дим Писмо Како Стринг
РЕМ
Работни листови Рем "(" Зборови "). Активирајте
РЕМ
Рем Постави wordRange = листови ("Зборови") Опсег ("А1: A500").
Рем NumWords = Application.WorksheetFunction.CountA (wordRange)
РЕМ
Рем За Грофот = 1 NumWords
Рем WordLength = Лен (клетки (грофот, 1))
РЕМ
РЕМ
РЕМ "Application.EnableSound = Неточно
РЕМ
РЕМ "Application.EnableSound = true
Рем Збор = клетки (грофот, 1)
Клетките Рем "(грофот, 1). Активирајте
ActiveCell.Characters Рем "(1, 3). PhoneticCharacters = Збор
Рем MixedWord = ""
Рем За Count2 = 1 WordLength
Рем Писмо = средината (клетки (грофот, 1), Count2, 1)
РЕМ "Application.Speech.Speak (писмо)
Рем Lcase = круг (RND)
РЕМ
РЕМ
Рем Ако Lcase = 1 И ASC (писмо)> = 97 Потоа Писмо = Chr (ASC (писмо) - 32)
РЕМ
Рем MixedWord = MixedWord + буква
Рем Следна Count2
Рем клетки (1, 5) = MixedWord
РЕМ
Рем Дим порака, Наслов, репутација, MyValue
Рем Порака = "Подготвен мајмун?"
Рем title = "Почести правопис игра."
Рем репутација = "ДА"
Рем MyValue = InputBox (порака, Наслов, стандардно)
РЕМ
РЕМ
Рем За Count2 = 1 WordLength
Рем Писмо = средината (клетки (грофот, 1), Count2, 1)
Рем Application.Speech.Speak (писмо)
Рем Следна Count2
Рем Application.Speech.Speak (Word)
РЕМ
Рем Ако MyValue "ДА" тогаш
Рем Application.Speech.Speak ("Тоа е во ред pooey - ќе влезе")
Рем WordLength = Лен (MyValue)
Рем За Count2 = 1 WordLength
Рем Писмо = средината (MyValue, Count2, 1)
Рем Application.Speech.Speak (писмо)
Рем Следна Count2
Рем Application.Speech.Speak (MyValue)
Рем Ако крајот
РЕМ
РЕМ
Рем Следна Грофот
РЕМ
РЕМ
Рем Под крајот
РЕМ