Function 录制宏时使用内置计算功能

Function 录制宏时使用内置计算功能,function,built-in,libreoffice-calc,libreoffice-basic,Function,Built In,Libreoffice Calc,Libreoffice Basic,我正在使用Excel for Engineers,并试图将其应用于LibreOffice Calc。我遇到了一个问题。我知道不使用宏很容易做到这一点,但请幽默我。其中一个练习是开始录制宏,键入: =RAND() 按回车键并停止录制 当我运行宏时,什么也没有发生。我尝试使用任何其他Calc内置函数,同样的情况也会发生。查看宏基本文件,确信没有发生任何事情 录制宏时可以使用内置函数吗?如果是,如何进行?当前,LibreOffice宏记录器不会记录添加的内置函数。事实上,记录器有许多局限性,通常会导

我正在使用Excel for Engineers,并试图将其应用于LibreOffice Calc。我遇到了一个问题。我知道不使用宏很容易做到这一点,但请幽默我。其中一个练习是开始录制宏,键入:

=RAND()
按回车键并停止录制

当我运行宏时,什么也没有发生。我尝试使用任何其他Calc内置函数,同样的情况也会发生。查看宏基本文件,确信没有发生任何事情


录制宏时可以使用内置函数吗?如果是,如何进行?

当前,LibreOffice宏记录器不会记录添加的内置函数。事实上,记录器有许多局限性,通常会导致糟糕的代码(主要使用dispatcher)

相反,根据文档编写API代码,例如

子调用Spreadsheet函数
funcAcc=createUnoService(“com.sun.star.sheet.FunctionAccess”)
oSheet=ThisComponent.getSheets().getByIndex(0)
oCell=oSheet.getCellRangeByName(“A1”)
oCell.setValue(funcAcc.callFunction(“RAND”,Array()))
端接头
开始学习LibreOffice宏的一个好地方是


请注意,学习LibreOffice Basic对学习MS Office VBA没有多大帮助。这两种语言和平台完全不同。

谢谢!我没有意识到我需要接受答案。我相信我已经接受了所有这些,谢谢你。我想我可以写上面的代码,但我试图复制LibreOffice手册中的练习。我不是在学习微软Office VBA。我正在改编一本为Excel编写的书。但随着我对这本书的深入,Calc的局限性越来越大。“Calc的局限性”——与MS Office相比,LO在很多方面都是有限的。与LO相比,MS Office在许多方面受到限制。我认为更准确的说法是,它们完全不同,当试图在另一个套件中使用一个套件时,会出现问题。