LibreOffice Writer ページの挿入?追加をするマクロの実験 [LibreOffice Writer Basic]
'writer Pageの追加
'カーソル位置の下に新しいページを挿入
Dim oCtrl As Object
oCtrl = ThisComponent.getCurrentController()
oFrame = oCtrl.getFrame()
'Page Insert
createUnoService("com.sun.star.frame.DispatchHelper") _
.executeDispatch(oFrame, ".uno:InsertPagebreak", "", 0, Array())
End Sub
LibreOffice6.1 Writer 横線を引くマクロ [LibreOffice Writer Basic]
'カーソル位置に横線を引く
'
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Template"
args1(0).Value = "横線"
args1(1).Name = "FamilyName"
args1(1).Value = "ParagraphStyles"
args1(2).Name = "Style"
args1(2).Value = "Horizontal Line"
dispatcher.executeDispatch(document, ".uno:StyleApply", "", 0, args1())
end sub
LibreOffice Writer Basic 表の挿入と項目設定するマクロの実験 [LibreOffice Writer Basic]
LibreOffice Writer Basic 表の挿入と項目設定するマクロの実験
OS LinuxMint18Cinnamon64bit
LibreOffice5.2
Sub WriterTableTXT()
'write 3列20行の表を作成、項目テキスト挿入
Dim oTable As object
Dim oCurs As object
Dim oText As object
Dim oVCurs As object
Dim oCell As object
'oText
oText = ThisComponent.getText()
' 表作成
oTable = ThisComponent.createInstance("com.sun.star.text.TextTable")
'20行、3列
oTable.initialize(20, 3)
oCurs =ThisComponent.getCurrentController().getViewCursor()
oText.insertTextContent(oCurs, oTable, False)
' Table 選択
ThisComponent.getCurrentController().select(oTable)
oVCurs = ThisComponent.getCurrentController().getViewCursor()
'
' Cursor位置移動,文字列挿入 calc風 列、行
oCell1 = oTable.getCellByPosition(0,0)
oCell1.string="氏名"
oCell1 = oTable.getCellByPosition(1,0)
oCell1.string="TEL"
oCell1 = oTable.getCellByPosition(2,0)
oCell1.string="E-mail"
End Sub
LibreOffice Writer Basic 文末に文字列を挿入するマクロの実験 [LibreOffice Writer Basic]
LibreOffice Writer Basic 文末に文字列を挿入するマクロの実験
OS LinuxMint18Cinnamon64bit
LibreOffice5.2
Sub bunnmatu2()
'writer 文末に文字列挿入
Dim oCur As Object
Dim oTxt As String
'挿入文字列
oTxt=chr(10) & date & " 編集 編集者名"
'TextCursor
oCur = ThisComponent.getText().createTextCursor
' 文末へ
oCur.gotoEnd(false)
'文字列挿入
oCur.setString(oTxt)
End Sub
文頭なら oCur.gotoStartOfParagraph(false)
LibreOffice Writer Basic 表の挿入と文字列挿入 [LibreOffice Writer Basic]
LibreOffice Writer Basic 表の挿入と文字列挿入
参考サイト
ttp://openoffice3.web.fc2.com/OOoBasic_Writer_No2.html#OOoWT1b
OS LinuxMint18Cinnamon64bit
LibreOffice5.2
Sub writer_table_test_1()
'表を作成して、表題を挿入する
Dim oText,oTable,oCurs
oText = ThisComponent.getText()
'表作成 .initialize(行数, 列数)
oTable = ThisComponent.createInstance("com.sun.star.text.TextTable")
oTable.initialize(3, 3)
oCurs = ThisComponent.getCurrentController().getViewCursor()
'表挿入
oText.insertTextContent(oCurs, oTable, False)
' 文字入力 Array("","","")は行数分必要
oTable.setDataArray(Array(Array("氏名","TEL","E-mail"),Array("","",""), Array("","","")))
End Sub