繁体   English   中英

如何将单元格而不是单元格的值传递给LibreOffice函数?

[英]How to pass in a cell, not a cell's value, to LibreOffice function?

我希望用户能够选择单元格,然后让我的功能在那些单元格上运行。

我怎么做? “ ByRef”和“作为对象”似乎做对了,但是Excel / {Libre,Open} Office拒绝了函数调用,因为用户的输入不是对象。

有没有办法找出要运行该功能的单元格?

即使我不得不执行类似查找调用单元格地址的操作,然后向后进行操作以找到键入该单元格的单元格名称,这可能仍然有效。 我愿意接受让我的用户像普通函数一样编写此函数,并使该函数能够修改所选单元格的任何解决方案。 这是我在说的:

Function SIMVOL( rF, ByRef mX, mY, cR, cS ) ' or Function SIMVOL(...mX as Object...)
    mX.value() = 10
    SIMVOL = mX.value() * mY
End Function

以下是改编自Andrew Pitonyak的OpenOffice Macro文档的示例。 它应该为您设定正确的方向。

Sub DivideSelectionByTen()
  REM Divide the current selection by 10
  Dim oData()
  Dim oRow()
  Dim i As Integer
  Dim j As Integer

  Dim oRange As object
  Dim dDivisor As Double

  oRange = ThisComponent.getCurrentController().getSelection()

  dDivisor = 10

  oData() = oRange.getDataArray()
  For i = LBound(oData()) To UBound(oData())
    oRow() = oData(i)
    For j = LBound(oRow()) To UBound(oRow())
      oRow(j) = oRow(j) / dDivisor
    Next
  Next
  oRange.setDataArray(oData())
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM