• 締切済み

ルビを抜き出したい(至急)

MS Office ではなく、 Apache Open Office (3.4.0)という、ダウンロードしたソフトのMac版なのですが、 こちらで質問させていただきます。 文字にふられた、ルビ(ふりがな)の部分を抜き出したいのですが、 どうすればいいでしょうか。 ご存知の方教えてください。 よろしくお願いします。

みんなの回答

回答No.1

LibreOffice 3.6.0 Beta 2で検証。 ルビが全て上に配置されていると無理やり仮定。(ルビを持つかどうかについて信頼出来るプロパティがない気が…) REM ***** BASIC ***** Sub Main() Dim doc As Object Dim selection As Object Dim IsInruby As Boolean Dim success As Boolean success = True Set doc = ThisComponent Set txt = doc.getText() Set cursor = txt.CreateTextCursor() cursor.collapseToStart() IsInRuby = True Do '各範囲を取得する方法が見つけられなかったので一文字一文字調べている。 '複数の範囲のルビにまたがると、RubyIsAboveはFalseになる。 'RubyTextが空かどうかではダメなようなので、やむなくRubyIsAboveで代用している。 If IsInRuby = True And Not cursor.RubyIsAbove Then cursor.goLeft(1,True) Process(cursor.getString()) Process(cursor.RubyText) cursor.CollapseToEnd() IsInRuby = cursor.RubyIsAbove ElseIf IsInRuby = False And cursor.RubyIsAbove Then cursor.CollapseToEnd() IsInRuby = cursor.RubyIsAbove End If success = cursor.goRight(1,True) If Not success Then Exit Do End If Loop Process(cursor.getString()) Process(cursor.RubyText) End Sub Sub Process(s As String) MsgBox (s) End Sub

irr0804
質問者

お礼

ありがとうございます。 ですが私には高度すぎてどういうことなのかまったく分かりません。

関連するQ&A