Top > OOoPython > CalcOverView

Python と Calc Edit

Py-UNO から Calc へのアクセス概要。コードの最初は基本的に BeanShell や JavaScript とおなじような感じになります。多重継承ができる Python では OOo API を利用する部分は OOo Basic と同じように書けます。

doc = XSCRIPTCONTEXT.getDocument() 以外の部分は OOo Basic で書くときとほとんど変わりません。

  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 # -*- coding: utf_8 -*-
 
 def calc_overview():
     doc = XSCRIPTCONTEXT.getDocument()
     if doc.supportsService("com.sun.star.sheet.SpreadsheetDocument"): 
         
         sheets = doc.getSheets()
         sheet = sheets.getByIndex(0)
         cellrange = sheet.getCellRangeByPosition(0,0,2,5)
         
         cellrange.getCellByPosition(0,0).setString(u'みかん')
         cellrange.getCellByPosition(1,0).setString(u'りんご')
         
         subrange = cellrange.getCellRangeByPosition(0,1,2,5)
         rangeAddress = subrange.RangeAddress
         
         for i in range(rangeAddress.EndRow - rangeAddress.StartRow):
             for j in range(rangeAddress.EndColumn - rangeAddress.StartColumn):
                 subrange.getCellByPosition(j,i).setValue((i+1)*(j+2))

コード中に日本語を書く必要があるときには coding を utf_8 に指定します。そして必要な部分はユニコード文字列 u'みかん' を使用します。OOo との文字列やり取りは Py-UNO ブリッジにより自動的にユニコード文字列として行われます。

以下参照


Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes