OpenOffice 3.3打破我的代码

时间:2011-03-24 20:39:08

标签: vba openoffice.org

我不能再在OpenOffice中使用Cells(x,y)了(似乎是一个bug,我可以通过google搜索Cells.select)。有没有解决方法(使用不同的代码)?我当然需要回复Cells(x,y)返回的值。

错误是:

unsatisfied query of type ooo.vba.excel.XWorksheet!

1 个答案:

答案 0 :(得分:0)

要么一切都改变为3.3,要么他们只是意外地破坏了一切。最可能的情况是我使用的所有内容都已被弃用,但可能会暂时中断。

无论如何,你不能再使用裸Cells(y,x)。现在你必须使用

    Sheet =  ThisComponent.getCurrentController.getActiveSheet
    Cell = Sheet.getCellByPosition(x, y)

注意:

  1. 文档为here(感谢@Tim Williams提供Google支持)。

  2. 与细胞不同,x和y现在是“正常”(列,行),而不是倒置。此外,该指数从零开始。

  3. 选择您必须使用的单元格

    ThisComponent.getCurrentController().createUnoService("com.sun.star.frame.DispatchHelper").select(cell)
    
  4. 获取活动单元格

    oCell = ThisComponent.getCurrentSelection()
    If not oCell.supportsService("com.sun.star.sheet.SheetCell") Then
      return
    End If
    ' do stuff here