OOobbs/15
質問ローカルでディレクトリ内のファイル一覧をシートの各セルに書き出した後、そのファイルへのハイパーリンクを作成するまでを OpenOffice Basic で自動的に作成したいです。 Ocell.setHyperLink(ocell.string) というような感じで一発でで設定できないのでしょうか? Writedbginfo(ocell) でセルの properties & method を 出してみましたが、 link 関係の文字が見つかりませんでした。 追伸 Excel だと find オブジェクトで下階層まで一発で 検索できますが OpenOffice だと自分で階層を動かなければ いけないので、またちょっと一苦労しています。 回答すでに Cal Macro by Tamazo 氏 でディレクトリの検索が 実現されていました。
DirTools のファイル名の横にそのファイルへのハイパーリンクを挿入するように変更する方法を書いておきます。 まず,DirTools のファイルを開きます。そして,メニュー から 「ツール」 - 「マクロ」 - 「マクロ」 を選択します。DirTools ファイルの "Standard" ライブラリの "MainModule" を選択して,「編集」ボタンをクリックします。 つぎに,開いた IDE で,MainModule モジュールの 163 行目にある Sub DirFiles の中にすこしコードを追加します。 Sub DirFiles の 変数の宣言部分の最後に Dim oLink As Object 'This line was added for hyperlink. May 30, 2004. Dim oText As Object 'for hyperlink. May 30, 2004. を付け加えます。Sub DirFiles の Dim ... の行の次の行に入れます。 そして,Do 文の中の oCell.String = sValue の次の行に ''begin for hyperlink. May 30, 2004. oLink = oDocument.createInstance("com.sun.star.text.TextField.URL") With oLink .URL = ConvertToURL(tmpPath & sValue) .Representation = "*" End With oText = oCell.getText() ' oText.insertString( oText.getEnd(), " ", false ) ' oText.insertTextContent( oText.createTextCursorByRange(oText.getEnd()), oLink, false ) ' ''end for hyperlink. May 30, 2004. を付け加えます。Do 文の 8 行目辺りです。 これで完成。 同じように実行すると,ファイル名の横に * マークが付きます。それがそのファイルへのハイパーリンクです。
|