Top > OOoBasic > Generic > MediaDescriptor

MediaDescriptor Edit

ドキュメントを読み込んだり、保存したりするときに指定するオプション設定はここで取り上げる MediaDescriptor を利用します。

MediaDescriptor Edit

com.sun.star.document.MediaDescriptor

すべてのプロパティ名は大文字と小文字を区別します。

Comment Edit

バージョン保存時のコメント。

AsTemplate Edit

ファイルを編集ではなく、そのファイルをテンプレートとして新規作成します。テンプレートでないドキュメントを指定した時でも新規になります (テンプレートとして)。また、テンプレートをこのプロパティを指定せずに開くとテンプレートの編集状態になります。

 Dim aArgs(0) As New com.sun.star.beans.PropertyValue
 aArgs(0).Name = "AsTemplate"
 aArgs(0).Value = True

DocumentBaseURL Edit

HTML ドキュメントなどの相対パス指定を含むドキュメントの Base URL を指定します。画像などが相対パスで指定されているときに利用します。

FilterName Edit

ドキュメントを開くとき、または保存するときのフィルター名。このフィルタ名は内部名で指定します。

Dim aArgs(0) As New com.sun.star.beans.PropertyValue
aArgs(0).Name = "FilterName"
aArgs(0).Value = "calc8"

使用したいフィルター名はフィルタリストフィルタ情報などを参照。

FilterData Edit

複雑なフィルタオプションを指定するときによく利用されます。設定内容はフィルタに依存しますが、値は []com.sun.star.beans.PropertyValue で指定します。

以下は Writer を PDF にエクスポートするフィルタでの例。

 Dim aArg(5) As New com.sun.star.beans.PropertyValue
 aArg(0).Name = "RestrictPermissions"
 aArg(0).Value = True
 aArg(1).Name = "PermissionPassword"
 aArg(1).Value = "pass"
 aArg(2).Name = "Changes"
 aArg(2).Value = 0
 aArg(3).Name = "EncryptFile"
 aArg(3).Value = True
 aArg(4).Name = "DocumentOpenPassword"
 aArg(4).Value = "pass"
 aArg(5).Name = "EnableCopyingOfContent"
 aArg(5).Value = False
 
 Dim aArgs(1) As New com.sun.star.beans.PropertyValue
 
 aArgs(0).Name = "FilterName"
 aArgs(0).Value = "writer_pdf_Export"
 aArgs(1).Name = "FilterData"
 aArgs(1).Value = aArg

FilterOptions Edit

CSV フィルタなどの簡単なフィルタオプションしか必要ない場合に利用されています。

 Dim aArgs(1) As New com.sun.star.beans.PropertyValue
 aArgs(0).Name = "FilterName"
 aArgs(0).Value = "Text - txt - csv (StarCalc)"
 
 aArgs(1).Name = "FilterOptions"
 aArgs(1).Value = "44,34,76,1"

Hidden Edit

ドキュメントを非表示状態で開きます。

Dim aArgs(0) As New com.sun.star.beans.PropertyValue
aArgs(0).Name = "Hidden"
aArgs(0).Value = True

OutputStream Edit

ファイルではなくストリームにドキュメントを保存します。

InputStream Edit

ファイルからではなくストリームからドキュメントを読み込みます。

JumpMark Edit

ドキュメントを開いたときに指定されたブックマーク位置を表示します。

Dim aArgs(0) As New com.sun.star.beans.PropertyValue
aArgs(0).Name = "JumpMark"
aArgs(0).Value = "bookmark"

これは、ファイルを開くときにアンカーを # で指定する方法と同じです。

StarDesktop.loadComponenetFromURL("file:///home/user/file.odt#bookmark","_blank",0,Array())

MediaType Edit

TypeDetection にタイプ判定を任せないときに使用します。まちがった指定をすると開くのに失敗します。

Overwrite Edit

保存時にファイルが存在したときに上書きするか、しない指定をします。

Dim aArgs(0) As New com.sun.star.beans.PropertyValue
aArgs(0).Name = "Overwrite"
aArgs(0).Value = True '上書き

False を指定すると上書きしません。デフォルトは False。

Password Edit

ドキュメントを開くときに必要なパスワードを指定します。または、保存時にパスワード保護できるドキュメント形式の場合に指定できます。

Dim aArgs(0) As New com.sun.star.beans.PropertyValue
aArgs(0).Name = "Password"
aArgs(0).Value = "honyohonyo"

Preview Edit

「プレビュー」モードで開きます。なぜかツールバーからステータスバー、スクロールバーが表示されないので見難いです。

 Dim aArgs(0) As New com.sun.star.beans.PropertyValue
 aArgs(0).Name = "Preview"
 aArgs(0).Value = True

ReadOnly Edit

読み込み専用モードで開きます。

Dim aArgs(0) As New com.sun.star.beans.PropertyValue
aArgs(0).Name = "ReadOnly"
aArgs(0).Value = True

StartPresentation Edit

Impress ドキュメントを開いたときにプレゼンテーションモードにすぐに切り替えます。

Dim aArgs(0) As New com.sun.star.beans.PropertyValue
aArgs(0).Name = "StartPresentation"
aArgs(0).Value = True

RepairPackage Edit

壊れたドキュメントを修復してから開こうとします。

 Dim aArgs(0) As New com.sun.star.beans.PropertyValue
 aArgs(0).Name = "RepairPackage"
 aArgs(0).Value = True

無理やり修復モードで開くマクロ。この修復で開くことができる程度の破損であれば、普通に開こうとしたときに修復を促すダイアログが表示される。

  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
Sub Main
  oFP = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
  oFP.initialize( Array( _
      com.sun.star.ui.dialogs.TemplateDescription.FILEOPEN_SIMPLE ))
  
  If oFP.execute() = 1 Then
    sFiles = oFP.getFiles()
    sFile = sFiles(0)
    
    Dim aArgs(0) As New com.sun.star.beans.PropertyValue
    aArgs(0).Name = "RepairPackage"
    aArgs(0).Value = True
    
    StarDesktop.loadComponentFromURL(sFile, "_blank", 0, aArgs )
    
  End If
End Sub

TemplateName Edit

TemplateRegionName とセットで利用します。テンプレート名を指定します。

 sFileURL = "private:factory/simpress"
 Dim aArgs(1) As New com.sun.star.beans.PropertyValue
 aArgs(0).Name = "TemplateName"
 aArgs(0).Value = "新商品の紹介"
 aArgs(1).Name = "TemplateRegionName"
 aArgs(1).Value = "プレゼンテーション"
 oDoc = StarDesktop.loadComponentFromURL(sFileURL,"_blank",0,aArgs)

動きません。 i82287 3.2 から利用できるようになります。

ユーザーのテンプレートディレクトリから作成するにはテンプレート参照。

TemplateRegionName Edit

TemplateName とセットで利用します。上記参照。

(同上)

Unpacked Edit

保存時に zip 圧縮しない。その代わりにディレクトリ内に保存します。

URL Edit

開く、または保存する先の URL。loadComponentFromURL などのメソッドの場合には最初の引数を空文字列にするとこちらが利用されます。

Version Edit

バージョンがある場合に指定したバージョンを開きます。ゼロの時にはもっとも新しいものを開きます。以前のバージョンは読み込みせんようになります。

 Dim aArgs(0) As New com.sun.star.beans.PropertyValue
 aArgs(0).Name = "Version"
 aArgs(0).Value = 1

また、新しいバージョンの保存にも利用します。

MacroExecutionMode Edit

マクロのセキュリティモードをそのドキュメントのみに対して指定します。実行したいマクロを含むドキュメントを別のマクロから開くときに必須です (セキュリティモード設定によりますが)。値の指定は com.sun.star.document.MacroExecMode の定数で行います。

MacroExecMode説明
NEVER_EXECUTE0実行しない
FROM_LIST1セキュリティ設定の許可されたリストのもののみ。表示あり
ALWAYS_EXECUTE2リストにある、または信用ある機関の署名付きは実行。それ以外は警告
USE_CONFIG3設定によっては表示あり
ALWAYS_EXECUTE_NO_WARN4警告なしでどんなときでも実行可能に
USE_CONFIG_REJECT_CONFIRMATION5
USE_CONFIG_APPROVE_CONFIRMATION6
FROM_LIST_NO_WARN7リストのものは無警告
FROM_LIST_AND_SIGNED_WARN8リスト、署名付きは実行。信用されない機関の署名は表示
FROM_LIST_AND_SIGNED_NO_WARN9リスト、署名付きは警告なしで実行

UpdateDocMode Edit

ドキュメント中にあるリンクの更新動作を指定します。指定は com.sun.star.document.UpdateDocMode の定数で行います。

UpdateDocMode説明
NO_UPDATE0更新しない
QUIET_UPDATE1表示必要のないもののみ更新
ACCORDING_TO_CONFIG2設定に依存。表示のないもののみ
FULL_UPDATE3すべて更新

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