在OpenOffice.org Calc的VBA支持

张贴于21。 十月,2009年,在工程HOWTOOpenOffice.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中,不放弃。

相关文章:

  1. Excel的HOWTO文档
  2. 为2010-06-30的相关链接

“OpenOffice.org Calc中的VBA支持”

  1. 拉克什

    07。 2009年11月

    嗨,
    我曾尝试做你刚才提到,但仍不起作用。
    ,如果SHEET1.CELLS(7,4)=“”或SHEET1.CELLS(9,4)=“”或SHEET1.CELLS(10,4)=“”

    在此行中我没有找到属性或方法。

  2. 克里希南

    09。 2009年11月

    我可以看到,显然是不正确的语法。

    如果,那么,其他要使用的关键字。 没有或。

  3. 詹姆斯

    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
    雷姆

发表评论