LibreOffice Calc Basic - Writerを起動し、2枚目のページスタイルを横にする方法
◆概要
次の例では、LibreOffice Writerを起動し、2枚目のページスタイルを横にします。
Sub StarWriter() rem ******************************** rem LibreOffice Writerに新規文書を作成し、 rem 1枚目を縦、2枚目を横にする。 rem ******************************** Dim oServiceManager As Object Dim oDesktop As Object Dim oDocument As Object Dim oText Dim oCursor Dim oNewStyle Dim Args() Dim s Dim oStyle 'メインオブジェクトの初期化 Set oServiceManager = CreateObject("com.sun.star.ServiceManager") Set oDesktop = oServiceManager.createInstance("com.sun.star.frame.Desktop") Set oDocument = oDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, Args) Set oText = oDocument.GetText Set oCursor = oText.createTextCursor 'ページ区切りを挿入する oText.insertControlCharacter oCursor, 0, False oCursor.BreakType = 4 oCursor.gotoEnd False '古いスタイルを取得する s = oCursor.PageStyleName Set oStyle = oDocument.StyleFamilies.getByName("PageStyles").getByName(s) '新しいスタイルを作成する Set oNewStyle = oDocument.createInstance("com.sun.star.style.PageStyle") 'lanscape property に True を指定 oNewStyle.setPropertyValue "IsLandscape", True oNewStyle.setPropertyValue "Width", oStyle.Height oNewStyle.setPropertyValue "Height", oStyle.Width 'pagestyle family に新しいスタイルを追加する oDocument.StyleFamilies.getByName("PageStyles").insertByName "LandscapeStyle", oNewStyle 'ページスタイル名を landscapeStyle にセットする oCursor.setPropertyValue "PageDescName", "LandscapeStyle" End Sub▼ページトップへ