SSブログ

OpenOffice.org BASIC [よた日記]

2009-04-21ひっそり公開。

表計算ソフトは便利だ。
簡単な文書を書くのにワープロ代りに使ったり、もちろん計算も出来るし。

というかワープロって使いにくい。 行の途中でEnterを押して、BackSpaceを押しても元に戻らないとか、 行間をコントロールできないとか、箇条書きの下に文を入れたら箇条書きになっちゃうとか・・・ 挙動が理解できないし、余計な機能がてんこもりだ。 まぁ、使う人の問題も大きいと思うが。


その表計算ソフト界(?)では、某社の○クセルが強い。シェアは圧倒的だろう。
だが、その中には会社や学校のを不正にコピーして使っている場合もあるのはないか。
もちろん違法行為だからやってはいけない。

OpenOffice.orgなら、無料で自由に使える。
Linuxでも使える。Macでも。Macは持ってないからわからないけど。

OpenOffice.org は、 某社のオフィスと遜色の無い機能、高い互換性を持っていると思う。
OpenOffice.org Calcは、○クセル形式のファイルを読み書き出来る。
OpenOffice.org Writerは、○ード形式のファイルを読み書き出来る・・・のだろう。使ってないからわからないけど。
OpenOffice.org Impressは、○ワーポイント形式のファイルを読み書き出来る・・・のかな?これも使ってないからわからないけど。

というわけでこれから某社オフィスを買おうというのなら、OpenOffice.org を試してからでも良いと思う。
使ってみて、ダメだと思ったら某社にお布施してやればいいだろう。

もちろん、全く同じではない。
内部構造は全く違うだろうし、メニューの位置など細かな違いは多い。
印刷の設定はやり直した方が良いだろう。
マクロの互換性に関しては・・・開発中らしいが今のところは互換性は無いらしい。
また、インターネット上に参考文献が少ないのも気になる。

リファレンスは、あくまでも「知っている人」を対象に書かれているように感じる。
僕のような初心者向けの低レベルな入門書が少ないようにも感じる。


OpenOffice.org Calc用

'
' 選択範囲の背景を1行置きに塗る
' Copyleft(c) おれ
'
Sub Macro1
  Dim oSelect As Object 
  Dim oCols   As Object 
  Dim oRows   As Object 
  Dim oCells  As Object
  Dim nRow    As Long
  Dim oColor  As Variant
  
  oSelect = ThisComponent.CurrentSelection
  oCols   = oSelect.Columns
  oRows   = oSelect.Rows
  
  For nRow = 0 To oRows.getCount-1
    If nRow Mod 2 = 0 Then
      oColor = RGB(223,255,223)
    Else
      oColor = RGB(255,255,255)
    End If
    oCells = oSelect.getCellRangeByPosition(0,nRow,oCols.getCount-1,nRow)
    oCells.CellBackColor = oColor
  Next nRow
End Sub


上記をExcelで。
'
' 選択範囲の背景を1行置きに塗る
' Copyleft(c) おれ
'
Sub Macro2()
  Dim nRowBegin As Long
  Dim nRowEnd   As Long
  Dim nColBegin As Long
  Dim nColEnd   As Long
  Dim nRow      As Long
  Dim oColor    As Variant

  nRowBegin = Selection.Row
  nColBegin = Selection.Column
  nRowEnd   = nRowBegin + Selection.Rows.Count - 1
  nColEnd   = nColBegin + Selection.Columns.Count - 1
    
  For nRow = nRowBegin To nRowEnd
    If (nRow - nRowBegin) Mod 2 = 0 Then
      oColor = RGB(223, 255, 223)
    Else
      oColor = RGB(255, 255, 255)
    End If
    Range(Cells(nRow, nColBegin), Cells(nRow, nColEnd)).Interior.Color = oColor
  Next nRow
End Sub

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

ブログを作る(無料) powered by SSブログ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。