openoffice calc でのファイル指定方法

スプレッドシート (Calc) について
返信する
arai_kiyoshi
記事: 8
登録日時: 1月 8, 2014, 5:31 pm

openoffice calc でのファイル指定方法

投稿記事 by arai_kiyoshi »

OOo4.0.1 windows7での動作で質問です。

以下の様なマクロをopenoffice calc で作り動かして見ると、新規に作ったファイルでは無く
元のファイルが保存されている。
 ThisComponent で現在アクティブなファイルが出てこない。
 以下のマクロで保存したい新規生成ファイルを指定する方法を教えて下さい。

Option VBASupport 1
sub macro()

Worksheets("データシート").Copy
'calcのマクロを含んでいる元ファイルには「データシート」と言う名前のシートが有ります。
'このCopyコマンドで新規にブックを作り、その中の単一のシートとして「データシート」を
'含むものが出来ます。

Cells(1, 2).Value = "testname" '印の為にB2にマークを入れています。

'ここからはマクロ記録した物に少し手を加えています。
dim document as object
document = ThisComponent.getSheets().getByindex(1)

'msgbox ThisComponent.getTitle()
'このmsgboxを動かすと元のファイル名を表示しています。
'希望はここで新たに作ったBOOK名が表示されて欲しい

dim args1(1) as new com.sun.star.beans.PropertyValue args1(0).Name = "FilterName"
args1(0).Value = "Text - txt - csv (StarCalc)"
args1(1).Name = "FilterOptions"
args1(1).Value = "44,34,60,1,,0,false,true,true"


ThisComponent.storeToURL( "file:///C:/temp/MULTI_IN.csv", args1())
’この機能で保存されるものは元のシートでした。
end sub
OpenOffice 4.0.11
Windows7 SP1 32bit
ike@九州
記事: 33
登録日時: 4月 30, 2009, 9:05 am

Re: openoffice calc でのファイル指定方法

投稿記事 by ike@九州 »

アクティブな Component の取得
ActiveComponent = StarDesktop.CurrentComponent

ThisComponent と StarDesktop.CurrentComponent は
ThisWorkbook と ActiveWorkbook の違いと同じ解釈でよろしいかと。
arai_kiyoshi
記事: 8
登録日時: 1月 8, 2014, 5:31 pm

Re: openoffice calc でのファイル指定方法

投稿記事 by arai_kiyoshi »

回答、ありがとうございます。
やはり、有るのですね(当たり前か)
色々なサンプルがThisComponentだけだったので探せませんでした。
OpenOffice 4.0.11
Windows7 SP1 32bit
返信する

“Calc”に戻る