Top > OOoBasic > Generic > Template
*テンプレート [#s4cb6298]

テンプレートを利用したマクロなどでテンプレートを利用する時の方法です。

#contents
**テンプレートパス [#e6bba8a8]
テンプレートディレクトリのパスは[[パス設定>OOoBasic/Generic/pathsettings]]などから取得します。

 Dim oPathSettings As Object
 oPathSettings = CreateUnoService("com.sun.star.util.PathSettings")
 msgbox oPathSettings.Template

テンプレートのパスはユーザーおよび shared の両方が ; (セミコロン) で区切られています。そのため両方のディレクトリからテンプレートを探す必要があります。

#code(ob){{
  Dim sTemplateURL As String
  sTemplateName = "template.ott"
  oPS = CreateUnoService("com.sun.star.util.PathSettings")
  sTemplateDirs = Split(oPS.Template,";")
  oSFA = CreateUnoService("com.sun.star.ucb.SimpleFileAccess")
  For i = 0 To UBound(sTemplateDirs) Step 1
    If oSFA.exists(sTemplateDirs(i) & "/" & sTemplateName) Then
      sTemplateURL = sTemplateDirs(i) & "/" & sTemplateName
    End If
  Next
}}

**ドキュメントテンプレート [#b7a27ec1]
テンプレートの一覧は com.sun.star.frame.DocumentTemplates サービスで管理します。

 oDocTemplates = CreateUnoService( _
   "com.sun.star.frame.DocumentTemplates")

***グループの追加 [#r5a6fd45]
新規グループは addGroup メソッドで追加します。メソッドはグループの追加に成功したかどうかを boolean 型で返します。

 bResult = oDocTemplates.addGroup("new group")
***グループの削除 [#l68bc421]
グループは removeGroup メソッドで削除します。

 bResult = oDocTemplates.removeGroup("new group")
***グループ名の変更 [#f0ea5819]
グループ名は renameGroup メソッドで変更します。
 boolean renameGroup( [in] string OldGroupName, [in] string NewGroupName )
***テンプレートの追加 [#bcd3244b]
新規テンプレートは addTemplate メソッドで追加します。メソッドの引数はグループ名、テンプレート名、追加するテンプレートファイル URL です。

 boolean addTemplate( [in] string GroupName, 
   [in] string TemplateName, [in] string SourceURL )

テンプレートを追加するグループが無いときには追加に失敗します。

 bResult = oDocTemplates.addTemplate( _
   "group","templ","file:///C:/usr/1.ott")
***テンプレートの削除 [#ide3c70a]
テンプレートの削除は removeTemplate メソッドで行います。
 boolean removeTemplate( [in] string GroupName, [in] string TemplateName )
***テンプレート名の変更 [#p37f87fa]
テンプレート名の変更は renameTemplate メソッドで行います。
 boolean renameGroup( [in] string OldGroupName, [in] string NewGroupName )

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