Google
 
Web itpro-blogger.blogspot.com
火曜日, 10月 21, 2008

[VB2005]OpenOfficeをエクセル(Excel)のように使用する

▼質問
VBでOpenOfficeのCalcをエクセル(Excel)のように操作したいんだ。

どうやったらできるかサンプルが欲しいんだ。

何か良い情報があったら教えてくれ!

▼回答
良さそうなサンプルがあったから試してみてくれ!

でも、サンプルはCalcじゃなくてWriterだけど・・・。

これで、雰囲気は掴めるかな?!

Calcのサンプルを作成してみたので参考にしてみてくれ!!


Sub HelloWorldExampleCalc()
Dim myCalc As Object, mySheet As Object, myCell As Object

myCalc = StarDesktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, dummyArray)
mySheet = myCalc.getCurrentController().getActiveSheet()
myCell = mySheet.getCellByPosition(0, 1)
myCell.String = OOoMess111
myCell = mySheet.getCellByPosition(0, 2)
myCell.Value = 100
myCell.CharColor = OOoRGB(0, 200, 0)
myCell = mySheet.getCellByPosition(0, 3)
myCell.Formula = "=A3*2"
myCell.CharWeight = OOOawtFontWeightBOLD
mySheet.getCellByPosition(0, 4).CellBackColor() = OOoRGB(0, 200, 0)
Dim oBorderLine As Object = CreateUnoStruct("com.sun.star.table.BorderLine")
Dim oTableBorder As Object = CreateUnoStruct("com.sun.star.table.TableBorder")
With oBorderLine
.Color = RGB(0, 0, 0)
.OuterLineWidth = 1
End With
With oTableBorder
.IsLeftLineValid = True
.IsTopLineValid = True
.IsRightLineValid = True
.IsBottomLineValid = True
.LeftLine = oBorderLine
.TopLine = oBorderLine
.RightLine = oBorderLine
.BottomLine = oBorderLine
End With
mySheet.getCellRangeByName("A2:B3").TableBorder() = oTableBorder
MsgBox(OOoMess105)
myCalc.close(True)
End Sub


インターフェイス・プロパティ・メソッドの一覧を表示するマクロがあったので、こちらも
参考にしてみてくれ!!


sub Main

Dim dbg As object
dbg = CreateUnoService("com.sun.star.sheet.SpreadsheetDocument")
MsgBox(dbg.Dbg_SupportedInterfaces)
MsgBox(dbg.Dbg_Properties)
MsgBox(dbg.Dbg_Methods)

end sub


■参考サイト
OOoMacros
http://www.ooomacros.org/index.php
OOoBasic/Tutorial/kakeibo/macro - ...?
http://hermione.s41.xrea.com/pukiwiki/pukiwiki.php?OOoBasic%2FTutorial%2Fkakeibo%2Fmacro
OpenOffice.org 操作術 第 3 回 中本担当分原稿 OpenOffice.org の表 ...
http://bd.tank.jp/nikkei/article3_1.pdf
7. 表計算ドキュメント (StarSuite 8 Basic プログラミングガイド) - Sun Microsystems
http://docs.sun.com/app/docs/doc/819-1332/faail?l=ja&a=view






Comments: コメントを投稿

<< Home

This page is powered by Blogger. Isn't yours?