海外で人気がある自動化ソフト「Autoit」でLibreOfficeのCalcを動かしてみます。
LibreBasicよりも簡単そう。
Autoit とは
UWSCよりも、機能が豊富(画像認識もできます)。Basicに似た仕様でわかりやすいです。
参考サイト: Home – AutoIt
お決まりの「Hello World」
1 |
MsgBox("","","Hello World 日本はいい国!!") |
この一行だけです、簡単でしょ。
好きなエディタでコードを書き、拡張子.au3で保存。クリックすれば動きます。
もちろん、関連付けはしなければだめですが
簡単なSample コード(起動編)
● LibreOffice Calcを立ち上げる
1 2 |
#include "Libre/OOoCalc.au3" _OOoCalc_BookNew() |
(1) #include “Libre/OOoCalc.au3” : LibreOfficeを動かすために必要です。海外の有志の人が作ってくれたものです。感謝し使いましょう。
(2) _OOoCalc_BookNew() : 新規にCalcを起動します。
● LibreOfficeを起動し、最大化
1 2 3 4 5 6 7 |
#include "Libre/OOoCalc.au3" Opt("WinTitleMatchMode", 2) ; 一部一致 Global $oCalc = _OOoCalc_BookNew() ;Create test file WinWait("Calc") WinSetState("Calc", "", @SW_MAXIMIZE) ;最大化 |
●すでにあるCalcファイルを開く
1 2 |
#include "Libre/OOoCalc.au3" _OOoCalc_BookOpen(@ScriptDir & "\sample.ods") |
_OOoCalc_BookOpen(@ScriptDir & “\sample.ods”) ; パス名は大事です
セルに書き込み、サンプル
● 文字列の挿入
1 2 3 4 |
#include "Libre/OOoCalc.au3" Local $oCalc = _OOoCalc_BookNew() _OOoCalc_WriteCell($oCalc,"日本は素晴らしい",2,1) ;cell(x,y) _OOoCalc_WriteCell($oCalc,"野党いらない","C5") ; |
_OOoCalc_WriteCell($oCalc,”文字列”,x,y) ;cell(x,y)
_OOoCalc_WriteCell($oCalc,”文字列”,”A1″) ; セル特定”A!”形式
● 数値の挿入
1 2 3 4 |
#include "Libre/OOoCalc.au3" Local $oCalc = _OOoCalc_BookNew() _OOoCalc_WriteCell($oCalc,123456,2,1) ;cell(x,y) _OOoCalc_WriteCell($oCalc,50000,"C5") ; |
”文字列” –> 数値 : これでOK
● セルの文字色、背景色を変える
1 2 3 4 5 6 |
#include "Libre/OOoCalc.au3" Local $oCalc = _OOoCalc_BookNew() _OOoCalc_WriteCell($oCalc,123456,2,1) ;cell(x,y) _OOoCalc_CellSetColors($oCalc, 0xD71D3B, 0xFFEFCE, 2, 1) _OOoCalc_WriteCell($oCalc,50000,"C5") ; _OOoCalc_CellSetColors($oCalc, 0xFFFFFF, 0x000,"C5") |
_OOoCalc_CellSetColors($oCalc, 文字色, 背景色, セルアドレス)
黒 FFFのように短縮系はだめみたいです。 FFFFFFにします。
その他の関数(詳細はGoogle先生に聞いてください)
_OOoCalc_BookNew
_OOoCalc_BookOpen
;_OOoCalc_BookAttach
;_OOoCalc_BookSave
;_OOoCalc_BookSaveAs
;_OOoCalc_BookClose
_OOoCalc_WriteCell
;_OOoCalc_WriteFormula
;_OOoCalc_WriteFromArray
;_OOoCalc_HyperlinkInsert
;_OOoCalc_RangeMoveOrCopy
;_OOoCalc_RangeSort
;_OOoCalc_RangeClearContents
;_OOoCalc_CreateBorders
;_OOoCalc_NumberFormat
;_OOoCalc_ReadCell
;_OOoCalc_ReadSheetToArray
;_OOoCalc_RowDelete
;_OOoCalc_ColumnDelete
;_OOoCalc_RowInsert
;_OOoCalc_ColumnInsert
;_OOoCalc_SheetAddNew
;_OOoCalc_SheetDelete
;_OOoCalc_SheetNameGet
;_OOoCalc_SheetNameSet
;_OOoCalc_SheetList
;_OOoCalc_SheetActivate
;_OOoCalc_SheetSetVisibility
;_OOoCalc_SheetMove
;_OOoCalc_SheetPrint
;_OOoCalc_HorizontalAlignSet
;_OOoCalc_FontSetProperties
_OOoCalc_CellSetColors
;_OOoCalc_RowSetColors
;_OOoCalc_ColumnSetColors
;_OOoCalc_RowSetProperties
;_OOoCalc_ColumnSetProperties
;_OOoCalc_FindInRange
;_OOoCalc_ReplaceInRange
コメント
[…] ○ LibreOfficeをAutoitで動かす。マクロより簡単かも | ごった煮 […]