在OpenOffice.org Calc的VBA支持
张贴于21。 十月,2009年,在工程 , HOWTO , OpenOffice.org , 提示 克里希南
对于许多年,直到昨天,我知道OpenOffice.org Calc中。 今天,我很兴奋。
我想许多年前的OpenOffice。 当年它可以做一些事情,但我为我的需求不足立即驳回。 我一直为Excel VBA可以做什么风扇。
上周,我完成了我写过的VBA应用程序中最复杂的一块。 我是VBA新手,我花了一个星期,完成我的代码,可以打印28页A4纸。 我到电子表格的日期2003年XP /办公室完美的作品像它应该的,但我写我的代码在Vista / Office 2007的大部分。
当我升级到Debian的挤压,Openoffice.org 3.1.1了。 我检查出的新版本,并留下了深刻的印象,可以写在Python,JavaScript中,BeanShell的除了基本的宏。
我试图打开我在OpenOffice.org中最复杂的一块VBA代码,我与数百个重复的错误消息,我不得不杀了命令行的电子表格轰炸。 我深信,VBA和OOoCalc的不兼容,直到我发现了这个事故现场时,试图了解写在OOo的Javascript宏。
确定。 我需要添加“选项VBA支持”。 这听起来太困难了,所以我试图再次打开我的电子表格,并不得不再次杀死一切从命令行。
一些事情是不正确的,我不能够运行VBA尽管承诺的兼容性。
所以我决定去慢。 无论多少次,我无法运行的宏,当我打开本地的Excel文件。 所以我决定禁用宏打开Excel文件。 这让我打开电子表格,但没有工作。 我发现,OOoCalc自动增加了“股权VBA支持”我的模块。
我保存的文件。消耗臭氧层物质,使宏再次进行调试。 这一次,没有一个flood.They错误一次来到之一,它是更容易调试。
第一组相关的变量,没有一个明确的Dim语句的错误。 在Excel VBA中处理不正确的Dim语句varaibles似乎更宽容。 但是OOo Calc之不喜欢它。 所以我加入了一些变量的Dim语句结束了。
下一组的错误与Excel UDF名称。 OOo Calc之喜欢看大写字母被调用的函数。 因此,如果你在Excel中使用小写字母,它们会显示为错误。 这可以很容易地固定使用查找和替换功能。
只是这两件事,我的新的消耗臭氧层物质的文件。固定工作完美。 我然后保存为。xls和重开的。xls,一切都还在工作。 虽然OOo Calc之文件仍说,并非所有的VBA功能支持,VBA上OOoCalc运行的所有实际工程计算。 所以,现在是我的时间,使开关。
现在,如果你有困难,在得到您的VBA代码工作在OOo Calc中,不放弃。

相关文章:


















































拉克什
07。 2009年11月
嗨,
我曾尝试做你刚才提到,但仍不起作用。
,如果SHEET1.CELLS(7,4)=“”或SHEET1.CELLS(9,4)=“”或SHEET1.CELLS(10,4)=“”
在此行中我没有找到属性或方法。
克里希南
09。 2009年11月
我可以看到,显然是不正确的语法。
如果,那么,其他要使用的关键字。 没有或。
詹姆斯
07。 2010年2月
ingnoring的“REMS”
你如何将有权在OOo?? 我不能工作了OOo的 - 请让我开始吗?
雷姆分词()
雷姆“
雷姆'字的宏
雷姆的宏记录由业主07/02/2010
雷姆“
雷姆的键盘快捷键:Ctrl + W
雷姆“
:雷姆点心NumWords作为整数
雷姆将作为整数点心字长
雷姆昏暗的计数将作为整数
雷姆DIM共2个记录将作为整数
:雷姆点心LCASE作为整数
雷姆
雷姆作为字符串昏暗的字
雷姆点心MixedWord作为字符串
雷姆作为字符串昏暗的信
雷姆
雷姆的工作表(“言”)。启动
雷姆
REM SET wordRange =工作表(“言”)的范围(“A1:A500”)。
雷姆NumWords = Application.WorksheetFunction.CountA(wordRange)
雷姆
要NumWords计数= 1雷姆
雷姆字长= LEN(细胞计数,(1))
雷姆
雷姆
雷姆“Application.EnableSound = FALSE
雷姆
雷姆“Application.EnableSound =真
REM字=细胞(计数,1)
雷姆细胞计数,(1)激活
雷姆“ActiveCell.Characters(1,3)。PhoneticCharacters =字
“雷姆MixedWord =”“
REM对于共2个记录= 1为字长
雷姆信= MID(细胞计数,(1),共2个记录,1)
雷姆Application.Speech.Speak(信)
雷姆LCASE = ROUND(RND)
雷姆
雷姆
雷姆如果LCASE = 1和ASC(信)> = 97然后信= CHR(ASC(信) - 32)
雷姆
雷姆MixedWord = MixedWord +信
REM下一页共2个记录
雷姆细胞(1,5)= MixedWord
雷姆
雷姆昏暗的消息,标题,默认,MyValue
REM消息=“准备就绪猴?”
雷姆标题=“荣誉拼字游戏。”
雷姆默认=“YES”
MyValue = InputBox将REM(消息,标题,默认)
雷姆
雷姆
REM对于共2个记录= 1为字长
雷姆信= MID(细胞计数,(1),共2个记录,1)
雷姆Application.Speech.Speak(函)
REM下一页共2个记录
,雷姆Application.Speech.Speak(字)
雷姆
雷姆如果MyValue“YES”,然后
雷姆Application.Speech.Speak(“这是错误的pooey - 输入”)
雷姆字长= LEN(MyValue)
REM对于共2个记录= 1为字长
雷姆信= MID(MyValue,共2个记录,1)
雷姆Application.Speech.Speak(函)
REM下一页共2个记录
,雷姆Application.Speech.Speak(MyValue)
雷姆结束如果
雷姆
雷姆
雷姆下计数
雷姆
雷姆
REM END SUB
雷姆