OpenOffice.org Basic 関連
- ウインドウサイズ(Excelでの言葉)を設定するには
-
Sub Main
Dim oController As Object
Dim oFrame As Object
Dim oContainerWindow As Object
oDoc = ThisComponent
oController = oDoc.getCurrentController()
oFrame = oController.getFrame()
oContainerWindow = oFrame.getContainerWindow()
oContainerWindow.setPosSize( 0, 0, 1024, 768, 12 )
End Sub
- VBAで「activecell」というプロパティは、OOo Basicではなにになるのでしょうか
-
activecell はどうやらないようですが、
Sub get_selection()
Dim oSelection, oCellRangeAddress As Object
oSelection = ThisComponent.CurrentController.Selection
oCellRangeAddress = ThisComponent.createInstance(_"com.sun.star.sheet.SheetCellRanges" )
oCellRangeAddress.InsertByName( "", oSelection )
MsgBox oCellRangeAddress.getRangeAddressesAsString()
End Sub
とすると選択範囲のアドレスが表示されます。この選択範囲からセルオブジェクトを取得することで activecell に似たようなことができそうです。
- シート上に作成したボタンコントロールをクリックしたら、同じシート上に作成したラベルに文字を表示するようにマクロを作成したい
1.ダイアログボックスを作成してその上にボタンとラベルを作成し、ボタンクリックでラベルに文字を記入するBasicコード
-
Sub Dlg1_Button1_Click'<---ボタンクリック
MsgBox "hello ! ok!"
oLabel1=oDialog1.getControl("Dlg1_Label1")
oLabel1.Text="Braboo !!"
oSheet=ThisComponent.Sheets(0)
oCell=oSheet.getCellByposition(1,1)
oCell.setString("Dekitazo !")
MsgBox "Now,I will change Text on Label"
oLabel1.Text=oCell.getString()
End Sub
- シート上に作成したボタンコントロールをクリックしたら、同じシート上に作成したラベルに文字を表示するようにマクロを作成したい
2.シート上に作成したボタンとラベルに文字を記入するBasicコード
-
Sub Main
Dim oDoc As Object,oDrawPages As Object, oDrawPage As Object
Dim oForms As Object, oForm As Object
Dim oLabel As Object
oDoc = ThisComponent
oDrawPages = oDoc.getDrawPages()
oDrawPage = oDrawPages.getByIndex(0)
oForms = oDrawPage.getForms()
oForm = oForms.getByName( "Standard" ) '-- (A)
oLabel = oForm.getByName( "LabelField" ) ' --(B)
oLabel.Label = "ok ok"
End Sub
ここでの 行(A) の "Standard" はフォームの名前で、 行(b) の "LabelField" はラベルの名前です。
- マクロのチュートリアルのある場所は
-
http://www.pitonyak.org/oo.php
http://jp.sun.com/software/starsuite/docs/
http://hermione.s41.xrea.com/pukiwiki/pukiwiki.php?OOoBasic
http://openoffice-docj.sourceforge.jp/tr/translated/basic_help_frame.html
などです。