openofficeがあるのは随分前から知っていたが、MSofficeで充分なのでダウンロードも使った事も無かったわ
たまたま、MSofficeがインストールされていない制御用のWindowsXP搭載のPCに遭遇してから
USB起動で画面プリントが連続的に取れるAPをとgoogle様へお願いしたら
openoffice portable へ巡り合った・・・USBで起動できるんやんか
でもって、連続技openofficeのマクロに今回は挑戦やー!
Excelのマクロは何回か作った事があるが、とは言ってもopenofficeのマクロは中々良い情報には巡り合わんけど
以下のサイト情報を貼り合わせて、OpenOffice Calc Portableのマクロが何とか出来たわm(__)m
http://www.geocities.co.jp/SiliconValley-SantaClara/1183/computer/programming/OOo_basic.html
http://wiki.services.openoffice.org/wiki/JA/Documentation/BASIC_Guide
http://itref.fc2web.com/openoffice/basic/index.html
シートの追加→クリップボードからの貼り付け→画像サイズの変更の連続技がこれだ
REM ***** 20110524 kujiranodanna wrote *****
sub Main
Dim oDocument As Object
Dim oSheet As Object
Dim sName As String
dim document as object
dim dispatcher as object
dim args1(1) as new com.sun.star.beans.PropertyValue
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
oDocument = ThisComponent
sName = "newsheet" & oDocument.Sheets.getCount()+1
args1(0).Name = "Name"
args1(0).Value = sName
args1(1).Name = "Index"
args1(1).Value = 1
dispatcher.executeDispatch(document, ".uno:Insert", "", 0, args1())
oSheet = ThisComponent.Sheets.getByName(sName)
oCell = oSheet.getCellRangeByName("A1")
ThisComponent.CurrentController.ActiveSheet
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
rem ***** resize *****
dim Sheet as Object
dim pSheet as Object
dim picture as Object
dim pictureResize as new com.sun.star.awt.Size
Sheet = ThisComponent.CurrentController.ActiveSheet
pSheet = Sheet.getDrawPage
picture = pSheet.getByIndex( pSheet.getCount - 1 )
with pictureResize
.Width = picture.Size.Width * 0.75
.Height = picture.Size.Height * 0.75
end with
picture.setSize(pictureResize)
rem ***** return to sheet1 *****
ThisComponent.CurrentController.ActiveSheet = ThisComponent.Sheets.getByName("Sheet1")
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
end sub
Sheet1の適当な画像にマクロを登録しておき、画像ボタンを押すたび
Sheet1の左端にnewsheet2、newsheet3・・・newsheetNが追加
追加されたnewsheetNへクリップボードの画像が貼られ
サイズが75%に縮小され
Sheet1へ戻る
OpenOffice Calc Portableの操作等やマクロのボタンへの登録は割愛よん
これ結構いいがな
pepoと