ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

OpenOffice Calc(表計算)で、シートを自動的にOpenして、値編集、印刷

2007-01-31 14:52:33 | OpenOffice

 前回のOpenOffice Base(データベース)のレポートはいまいちでした(>_<!)
 仕方ない。。。表計算ソフトにデータをいれて、それを出力することを考えよう!!

 ってことで、OpenOffice Calc(表計算)で、シートを自動的にひらき、値をいれて(数値と文字)、印刷するっていうところまでやってみました。




■仕様

 現時点ですでに、C:¥temp¥テスト.ods(¥は本当は半角です)に、OpenOffice Calc(表計算)で作ったシートがあります。そして、そのシートの1つに、”テスト”というシートがあります。

このとき、このテストというシートに対して、
 セルB2 に  "値を設定してみました" という文字列
 セルB3 に  12345 という数値
を設定して

印刷します




■ソース

こんなかんじです。
sub Main
	dim document   as object
	dim dispatcher as object
	dim args1(1) as new com.sun.star.beans.PropertyValue
	Dim oDoc as object

	'**** プロパティを入れるところ
         Dim pProp(1) As New com.sun.star.beans.PropertyValue 
 
 	'**** スプレッドシートを開く
         sURL = ConvertToURL("C:¥temp¥テスト.ods") 
         oDoc = starDesktop.loadComponentFromURL(sURL,"_default",0,Array()) 

 	'**** 値を設定する
	Sheet= oDoc.Sheets.getByName("テスト") 	'シートを選ぶ
	CellRange=Sheet.getCellRangeByName("B2") 	'  B2に値設定
	CellRange.setString("値を設定してみました")		
	CellRange=Sheet.getCellRangeByName("B3") 	'  B3に数値設定
	CellRange.Value = 12345

	'**** 印刷
         document = oDoc.CurrentController.Frame
	dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

	args1(0).Name = "Copies"
	args1(0).Value = 1
	args1(1).Name = "Collate"
	args1(1).Value = false

	dispatcher.executeDispatch(document, ".uno:Print", "", 0, args1())
end sub

(上記¥は、本当は半角)

というところで、今日のところはおしまい。

この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« “Windows Vista対応度”を診断... | トップ | 利用者の出力から業務を分析... »
最新の画像もっと見る

OpenOffice」カテゴリの最新記事