2011-03-24 3 views
0

Je ne peux plus utiliser Cells(x,y) dans OpenOffice (semble être un bug, d'après ce que je peux rassembler googling Cells.select). Existe-t-il une solution de contournement pour cela (avec un code différent)? Je dois répondre à la valeur retournée de Cells(x,y) bien sûr.OpenOffice 3.3 casse mon code

L'erreur est:

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

Avez-vous essayé de convertir ce à une référence Range(), ou peut-être des colonnes (y) .Cellules (x) ou Lignes (x) .Cellules (y)? –

+1

Un peu de googling ne fait jamais mal: http://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide/Cells_and_Ranges –

+0

Merci @Tim Williams qui aide. J'ai mis une réponse ensemble à partir de ce que j'ai trouvé là. –

Répondre

0

Soit tout a changé pour 3,3, ou ils ont juste cassé tout par accident. Le cas le plus probable est que tout ce que j'utilisais était obsolète, mais il pourrait être temporairement cassé. Dans tous les cas, vous ne pouvez plus utiliser le Cells(y,x) nu Maintenant, vous devez utiliser

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

Note:

  1. Les documents sont here (grâce à Williams pour le soutien @ Tim Google).

  2. Contrairement aux cellules, les x et y sont maintenant "normaux" (colonne, ligne), pas inversés. En outre, l'index est basé sur zéro.

  3. Pour sélectionner une cellule, vous devez utiliser

  4. Pour obtenir la cellule active

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