【问题标题】:OpenOffice 3.3 Breaks My CodeOpenOffice 3.3 破坏了我的代码
【发布时间】:2011-03-24 20:39:08
【问题描述】:

我不能再在 OpenOffice 中使用 Cells(x,y)(似乎是一个错误,从我可以通过谷歌搜索得到的 Cells.select)。是否有任何解决方法(使用不同的代码)?我当然需要回复Cells(x,y)返回的值。

错误是:

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

【问题讨论】:

标签: vba openoffice.org


【解决方案1】:

要么一切都为 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
    

【讨论】:

    猜你喜欢
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    • 2018-12-14
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多