** [[OOobbs3/70]] [#q08dea10] -''サマリ'': Baseでのデータベースファイルの取得について -''環境'': Other -''状態'': 解決 -''投稿者'': [[My]] -''投稿日'': 2011-10-04 (火) 16:33:54 *** 質問 [#n57ecc0f] 初めて投稿させていただきます。 Baseの接続情報を取得したいと思っておりまして、unoidlからgetByNemeを使用して登録名を取得することには成功しました。 ですが、データベースファイル(c:/test/databese.odb 等)を取得する方法がどうしても見つからなくて困っております。 データベースファイル名を取得する方法はないのでしょうか。 OpenOffice.org3.2.1を使用しております。 わかる方いらっしゃいましたら、よろしくお願い致します。 *** 回答 [#l4c99144] - どこから getByName を利用したのかよく分かりませんが、com.sun.star.sdb.DatabaseContext サービスを利用して登録済みのデータベースを利用したのだと仮定して。返り値の css.sdb.XDocumentDataSource インターフェースの DatabaseDocument 属性からデータベースドキュメントオブジェクトを参照できます。そこから getURL メソッドで odb ファイルの URL が取得できます。 -- はにゃ? &new{2011-10-04 (火) 18:08:21}; - 登録されているDatabase名ならば下記Codeで一覧取得出来ると思います。~ Sub oDatabase_List Dim dbContext As Object Dim dbNames as Object Dim d As Integer Dim dbText As String dbContext =createUnoService("com.sun.star.sdb.DatabaseContext") dbNames = dbContext.getElementNames() for d=0 to UBound(dbNames()) dbText = dbtext + dbNames(d) + chr(10) next d msgbox dbText End Sub -- new_OOo3 &new{2011-10-04 (火) 18:12:19}; #comment *** 感想,コメント,メモ [#zd5faf0d] はにゃ?さん、new_OOo3さん、早速のご回答ありがとうございます。質問が説明不足でしたね、すいません。おっしゃるようにcom.sun.star.sdb.DatabaseContext サービスを利用して取得しておりました。無事getURLメソッドを使用して取得することができました。ありがとうございます。 #comment |