Top > OOoBasic > Generic > URL

URL Edit

OpenOffice.org ではファイルパスなどを取り扱う時に URL 形式を利用します。

OOo Basic ではシステムパスから URL への変換は ConvertToURL を、URL からシステムパスへの変換は ConvertFromURL 関数が利用できます。

一方で URL を調べる方法を取り上げます。

URLTransformer Edit

com.sun.star.util.URLTransformer は URL をパスやプロトコル、名前といったパーツに分解してくれます。dispatch コマンドを利用するときなどにも同じサービスを利用します。

Sub url_1
 sURL = "file:///home/hoge/Desktop/124.odt"
 
 aURL = CreateUnoStruct("com.sun.star.util.URL")
 aURL.Complete = sURL
 
 CreateUnoService("com.sun.star.util.URLTransformer")._
   parseStrict( aURL )
 
 msgbox "Protocol: " & aURL.Protocol & chr(10) & _
   "Path: " & aURL.Path & chr(10) & _
   "Name: " & aURL.Name
End Sub

parseStrict メソッドの引数は [inout] なので渡した URL が変更されます。

UriAbbreviation Edit

com.sun.star.util.UriAbbreviation サービスを利用すると長い URL を省略して短く表記してくれます。

Sub uriabbreviation_1
  sURL = "file:///C:/Documents/home/another/path/document/names.ods"
  ua = CreateUnoService("com.sun.star.util.UriAbbreviation")
  sw = CreateUnoListener("XStringWidth_", "com.sun.star.util.XStringWidth")
  msgbox ua.abbreviateString(sw, 40, sURL)
End Sub

Function XStringWidth_queryStringWidth( sString As String )
  XStringWidth_queryStringWidth = Len(sString)
End Function

指定幅未満に調整してくれます。


Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes