mieki256's diary



2014/06/13(金) [n年前の日記]

#1 [pc] OpenOfficeのマクロを勉強中

OpenOffice というか LibreOffice のマクロを勉強中。ooo basic、という呼び方でいいのかな。

アルバムページ作成マクロを書きたい。 :

先日見かけたアルバム作成マクロは、画像の縦横比がおかしい状態で並べてしまうので、そこをどうにかできたらなと。しかし、マクロにパスワードがかけられているようで、内容を確認したり、修正したりはできないようで。

仕方ないので、自分で最初から書いてみようと思ったものの…。色々ハマっている状態。

入門。ハローワールド。 :

ググった感じでは、そもそもどうやってマクロを書き始めればいいのか、そこからして分からなかったのだけど。 _Macroの一歩(「Macro使い」への8分間) で Hello World の流れが解説されていて助かりました。ありがたや。
  • LibreOffice Writer を起動。
  • 文書を新規作成して、名前をつけて保存。
  • ツール → マクロ → マクロの管理 → LibreOffice Basic。
  • 左側のツリーで、現在開いてる文書を選択 → 右側の「新規作成ボタン」をクリック。任意の名前(モジュール名)を指定。
  • ooo basic IDE が開く。

リストやら入力ボックスやらを並べたUIが欲しい場合は、ダイアログを作成する。
  • ツール → マクロ → ダイアログの管理。
  • 現在開いてる文書を選択 → 「新規作成」ボタン → 任意のダイアログ名を指定。
  • ダイアログ名を選択 → 「編集」ボタンをクリック。
  • ダイアログをデザインできるウインドウが開く。

LibreOfficeの「Basic IDE オプション」が気になる。 :

LibreOffice のオプション項目を眺めていたら、「Basic IDE オプション」なる項目があったのだけど。コードの補完等、なんだか魅力的な項目が並んでいるものの、全項目がグレーアウトしていて、チェックを入れることができなくて。

コレは一体何だろう…。有効にすることが可能なのか、不可能なのか…。

もしかすると LibreOffice だからダメなのか、OpenOffice なら選べるのかと気になったので、OpenOffice もインストールして確認してみたのだけど。OpenOffice のほうは、そもそも「Basic IDE オプション」なる項目自体が存在しなかった。おそらく、LibreOffice で追加された部分、なのかな…。

ハマった点。 :

  • ダイアログ上のコンポーネントに対してアイテム追加や値を取得する処理を書く場合、Writer文書上からマクロを実行しないと正常動作しない。IDE上でF5キーを押して動作確認しようとしても、ダイアログ上のコンポーネントにアクセスできない。
  • 表内にカーソルがある状態で、oDoc.Text.insertTextContent(oViewCursor, oImage, False) 等をしても Runtime Error になる。表の外で行うと動作する・挿入できるのだけど…。

表内で挿入ができない件は、 _[Solved] Writer macro to insert an image into a table cell (View topic) - Apache OpenOffice Community Forum に説明があった。

以下はエラーが出る。
oCursor = oTable.getCellByPosition(0,0).createTextCursor()
oDoc.getText.insertTextContent( oCursor, oImage, False )

以下ならエラーが出ない。
oCell = oTable.getCellByPosition(0,0)
oCell.getText.insertTextContent( oCell, oImage, False )

この記事へのツッコミ

Re: OpenOfficeのマクロを勉強中 by 名無しさん    2014/08/05 09:42
はじめまして。
Option→詳細→実験的(不安定)なオプションを有効にすると利用できましたよ

以上、1 日分です。

過去ログ表示

Prev - 2014/06 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project