しかし、しかしである…
オープンオフィス+VB.NETの日本語のサイトは本当に少なくてイヤになっちゃう。
前回使用した、loadComponentFromURL の4番目のパラメータ(Param4)だが、
http://docs.sun.com/app/docs/doc/819-1332/faakl?l=ja&a=view
(上記は日本語のOpenOffice BASICのページ)によれば、
1.AsTemplate (ブール値) テンプレートとして開くかどうか。
2.CharacterSet (文字列) ドキュメントのキャラクターセットを指定
3.FilterName (文字列) 特殊フィルタの指定
4.FilterOptions (文字列) フィルタの追加オプション
5.JumpMark (文字列)
6.Password (文字列)
7.ReadOnly (ブール値)
が指定できると書いてある。
ところが、前回貼り付けた、
http://api.openoffice.org/docs/common/ref/com/sun/star/document/MediaDescriptor.html
では、7個どころではなく、約40個のオプションが指定できるということで、日本語サイトだけに頼ってはいけないことがわかる。
(http://docs.sun.com/app/docs/doc/819-1332/faakl?l=ja&a=view の執筆者さん、シロウトがえらそうな事を書いて、ごめんなさい。)
----------------------
前へ進もう。
loadComponentFromURL の4番目のパラメータ(Param4)には、次のファンクションを利用すれば良いようだ。
Public Function MakePropertyValue(byval cName as Object, byval uValue as Object) As Object
Dim oPropertyValue As Object
'下記に使用するoSMはConnectOOo()によってセットされているものとする。
oPropertyValue = oSM.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
oPropertyValue.Name = cName
oPropertyValue.Value = uValue
MakePropertyValue = oPropertyValue
End Function
使用例:
Dim OpenPar(1) As Object ' 例えば要素2つの配列を定義する。
OpenPar(0) = MakePropertyValue("ReadOnly", False)
OpenPar(1) = MakePropertyValue("Hidden", False)
oCalcDoc = ODesktop.loadComponentFromURL(MyURL, "_blank", 0, OpenPar)