LibreOfficeマクロのサンプル紹介と解説

Slides:



Advertisements
Similar presentations
ブロガーのための ソースコード管理システム 紹介 id:hakobe932 はこべ. 突然ですが ブログでソースコード 読んでますか?
Advertisements

UGUI を 使ってみよう ( 導入・紹介?編 ) 1. uGUI とは O Unity 4.6 から使えるようになった UI (ユー ザーインターフェース)システム O 8 月: Unity4.6 β uGUI 試用版公開 O 11 月: Unity4.6 uGUI 正式版公開 正式版公開で、 機能紹介ブロ.
1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
OpenOffice.org 2.3の 紹介と今後の展開について
情報基礎演習I(プログラミング) 第9回 6月22日 水曜5限 江草由佳
応用コース:ワープロを活用する WORD2000 1回目 基礎コースの復習(第1章と付録) 2回目 文字の入力(第2章と第4章)
OpenOffice.org/LibreOfficeとTEX
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
Powerpointを使用した ゆっくり動画の作成
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
図の挿入 ●方法1 ①図を挿入する位置にカーソルを置く。 ②「挿入」タブ ⇒「図」 → 「ファイルから」とクリックする。 ③挿入するファイルを選択し、「挿入」をクリックする。 ●方法2(書式までコピーされるので、ファイルサイズが大きくなる) ①挿入する図をコピーする。 ② 挿入する位置にカーソルを移動し、ツールバーまたは右クリックメニューの「貼り付け」をクリックする。
Takashi Taniguchi (谷口貴志)
Microsoft PowerPoint98 Netscape Communicator 4.06[ja]
Microsoft PowerPoint98 Netscape Communicator 4.06[ja]
コンピュータ プレゼンテーション.
パワーポイントの使い方 東京女子大学 情報処理センター 浅川伸一.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
OpenOffice.orgで実現! 次世代オフィススイート活用法
デジタルポートフォリオ作成支援ツール PictFolio 使用マニュアル
プレゼンテーション用ソフトウェア Impress
表計算ソフトを使って 万年カレンダーを作ろう!
第6回 Flashによるゲームの作成 04A2029           古賀慎也.
情報処理 第13回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当:塩田 ここはメモを書く欄。
情報処理 第11回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当:塩田 ここはメモを書く欄。
情報処理 第12回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当教員 : 塩田
文字書式設定(1) 方法1: ①文字書式を設定したい文字列を選択する。 ②「書式」メニュー → 「フォント」とクリックする。
C#によるWindowsFormApplication入門
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
Microsoft Office 2010 クイックガイド ~PowerPoint編~
マルチエージェント・シミュレーション(2)
マルチエージェント・シミュレーション(2)
プレゼンテーション用ソフトウェア Impress
ImpressのプレゼンをPPで表示 学校や会社にパワーポイントはあるが自宅には ない人のために・・・・・。
F5 を押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
     年  月  日 名前 太郎 1 班.
PowerPoint スライドの HTML化支援ツール epppt version 3
PHP Framework Update symfony 編 株式会社ディノ 月宮紀柳.
さとりすと Satori Ghost Editor 里々ゴーストの統合開発環境を作ったよ page: 1/25
OpenOffice.orgの日本語処理 中本 崇志.
情報 第2回:状態遷移 その2.
情報処理基礎 2006年 6月 22日.
10 Microsoft Word(1) 10.1 Microsoft Word v.Xの概要 起動 終了
【プログラミング応用】 必修2単位 通年 30週 授業形態:演習.
情報処理A 第?回 Excelを使ってみる.
情報処理技法(リテラシ)I 第10回:Excel (1/2)
Excel 2002,2003基本14 テンプレートを作る.
情報処理 第8回.
VBA ( Visual BASIC for Application) を使えるようにする方法
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第2回 ファイル処理 情報・知能工学系 山本一公
     年  月  日 名前 太郎 1 班.
2019/2/24 情報処理 第13回.
3.1 PowerPoint の概要 PowerPointを使ってできること
諸連絡 USBメモリの販売について 日時:6月23日(月)授業開始前 商品:プリンストン社製32MBのUSBメモリ
Shimatterシステムの トップダウン分析
Excelを便利にする250以上の機能を体系化したアドインはこちらです。
コンピュータ プレゼンテーション.
プロジェクト演習Ⅱ インタラクティブゲーム制作
情報処理 第13回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当教員 : 塩田
表計算ソフトを使って 万年カレンダーを作ろう!
第1章 いよいよプログラミング!! ~文章の表示 printf~
表計算 Excel 演習 1.Excel を使ってみる.
電気・機械・情報概論 VBAプログラミング 第1回 2018年6月25日
文字書式設定(1) 方法1: ①文字書式を設定したい文字列を選択する。 ②「ホーム」 → 「フォント」部の右下の矢印とクリックする。
Microsoft SharePoint Online の Web サイトを カスタマイズする方法
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
情報処理 II 第11回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当:塩田
知識ベースの試作計画 ●●●研究所 ●●●技術部 稲本□□ 1997年1月.
Microsoft Office 2010 クイックガイド ~Excel編~
サンプル見出し テキスト 1 行目 テキスト 2 行目 テキスト 3 行目 (中級) 図の背後でタイトルを移動させるアニメーション効果
Microsoft Office 2010 クイックガイド ~PowerPoint編~
Presentation transcript:

LibreOfficeマクロのサンプル紹介と解説 谷 列樹 2014/06/07 LibreOffice Productivity Suite

LibreOffice Productivity Suite プレゼンの概要 日経Linux誌でLibreOfficeマクロ記事を6回連載しました。 今回は記事に添付したサンプルの紹介とコードの解説をしようかと 思います。 LibreOffice Productivity Suite

LibreOffice Productivity Suite 発表者1 谷 列樹 (たに つらき) ググればいろいろでてくると思います。 プログラマ?SE?なんかもうわかりません。 雑誌の連載はつらい。 LibreOffice Productivity Suite

LibreOffice Productivity Suite 発表者2 LibreOfficeのマクロはかなーり前から触ってます。 でも気づいたら、多分のべ時間はExcel VBAのほうが長い。 LibreOffice Productivity Suite

LibreOffice Productivity Suite 第1回 マクロの概要 LibreOffice Productivity Suite

LibreOffice Productivity Suite マクロってそもそも何? LibreOffice Productivity Suite

LibreOffice Productivity Suite

LibreOffice Productivity Suite どうやって自動化するの? LibreOffice Productivity Suite

LibreOffice Productivity Suite UNOを利用する LibreOffice Productivity Suite

LibreOffice Productivity Suite UNOって何? LibreOffice Productivity Suite

LibreOffice Productivity Suite UNOとは、Universal Network Objectsの略で、LibreOffice自身の 実装上の重要なアーキテクチャであり、LibreOfficeのソフトウェアコ ンポーネントの基盤となっている。実際、例としてLibreOfficeのソー スコード(C++)を見てみると。。。。 LibreOffice Productivity Suite

LibreOffice Productivity Suite なるほどわからん!! LibreOffice Productivity Suite

LibreOffice Productivity Suite まぁとりあえず、難しいことは置いといて、 UNOとはLibreOfficeを操作する ためのAPI と思っても、それほど問題ない LibreOffice Productivity Suite

LibreOffice Productivity Suite UNOを使うと何がいいの? LibreOffice Productivity Suite

LibreOffice Productivity Suite 様々なプログラミング言語から、LibOの各コンポーネントを同じよう な要領で操作できる。 画面上の操作は、だいたい UNO経由でもできる LibreOffice Productivity Suite

LibreOffice Productivity Suite マクロ以外のプログラムからも UNOにアクセスできるの? LibreOffice Productivity Suite

LibreOffice Productivity Suite できます 拡張機能とか 外部プログラムによるLibOのオートメーションとか 言語も環境もいろいろ LibreOffice SDKとかオレオレバインディングとかCOMとか LibreOffice Productivity Suite

LibreOffice Productivity Suite でもなんかUNO使うのめんどく さそう 実際、ちょっとめんどい場合もある… LibreOffice Productivity Suite

LibreOffice Productivity Suite ODFの編集だけなら、UNO使 わなくても、いろいろ方法ある。 言語、環境によってはODFライブラリとか いっそZIPで展開してXMLを直接触っちゃう? LibreOffice Productivity Suite

LibreOffice Productivity Suite で、まとめるとどういうこと? LibreOffice Productivity Suite

LibreOffice Productivity Suite ようするにUNOにアクセスしたりODFを編集したりするプログラム は色んな形態で実装できるけど、 LibOユーザーにとっつきやすそうなのを マクロという名前でまとめてる って感じ LibreOffice Productivity Suite

LibreOffice Productivity Suite 絵にするとこんなイメージ ODFを操作するプログラム UNOにアクセスするプログラム マクロ 拡張機能 LibreOffice Productivity Suite

LibreOffice Productivity Suite 具体的には? LibreOffice Productivity Suite

LibreOffice Productivity Suite 画面のツール->マクロ->マクロ の管理に表示されてる4つの言 語と機能 LibreOffice Productivity Suite

LibreOffice Productivity Suite なんかいろいろありすぎて、頭 がフットーしそうだよおっ LibreOffice Productivity Suite

LibreOffice Productivity Suite もう深く考えずに、 マクロ ≒ LibreOffice Basic でいいんじゃね? なんだかんだで、一番標準的っぽいしね… LibreOffice Productivity Suite

LibreOffice Productivity Suite で、具体的にどうやってマクロ使 うの? LibreOffice Productivity Suite

LibreOffice Productivity Suite 割愛 LibreOffice Productivity Suite

LibreOffice Productivity Suite 割愛した内容が記事のメインだったけど、面白く無いので… こんな感じ↓ GUIの使い方とか、マクロの構成とか、設定類の説明 マクロの記録の使い方とかちょろっと この回はサンプル無し LibreOffice Productivity Suite

LibreOffice Productivity Suite 第2回 Calcの操作 LibreOffice Productivity Suite

LibreOffice Productivity Suite 記事の概要 LibreOffice Basicの文法の基本とか Calcを操作するマクロの基本 ドキュメント、シート、セルの操作とか 開発方法の紹介とか UNOのIDL(APIリファレンス) みんなだいすきMRI LibreOffice Productivity Suite

LibreOffice Productivity Suite サンプルのコンセプト 記事の内容にある程度沿ったものという縛り有り 一発目のサンプルなので、とにかくインパクト重視 LibreOffice Productivity Suite

LibreOffice Productivity Suite サンプルの動作を御覧ください BMP画像を読み込んでセルの背景色で再現するマクロ LibreOffice Productivity Suite

LibreOffice Productivity Suite ソースコードのポイント BMPデータを配列に変換する部分。BMPの仕様を調べたりしまし た。単純なので助かったwww 素直にRGBの数値で扱うだけじゃなくて濃淡をアスキーアートで表 現できるんじゃね? LibreOffice Productivity Suite

LibreOffice Productivity Suite 感想 実用性ない?ふざけすぎ? だから何! LibreOffice Productivity Suite

LibreOffice Productivity Suite 第3回 WriterとImpressの操作 LibreOffice Productivity Suite

LibreOffice Productivity Suite 記事の概要 Writerの操作 テキストの編集、検索、置換とか PDF変換とか Impressの操作 スライドの編集とか、画像オブジェクトの挿入とか LibreOffice Productivity Suite

LibreOffice Productivity Suite サンプルのコンセプト 業務とかに利用できそうな実用的なもの 前回は、強がってみたものの、やっぱり不安だった模様 すでに実装したものが手元にあったので流用 LibreOffice Productivity Suite

LibreOffice Productivity Suite サンプルの動作をご覧ください。 xls, doc, ppt, ods, odt, odp内の特定の文字列を別の文字列へ全 置換するマクロ LibreOffice Productivity Suite

LibreOffice Productivity Suite ソースコードのポイント 実務で使用することを前提に作っているので、エラー処理とかを頑 張ってます Fileの読み書きに失敗する、途中まで処理が進んでる最中にLibO が落ちる、なんてことを想定したエラー処理や仕様が全体の8割くら いを占めてます。 ちょっとがんばれば対応ファイル種はもっと増やせそう。 LibreOffice Productivity Suite

LibreOffice Productivity Suite 感想 実用的なマクロも書けるんやで (ドヤァ LibreOffice Productivity Suite

LibreOffice Productivity Suite 第4回 イベントとダイアログ LibreOffice Productivity Suite

LibreOffice Productivity Suite 記事の概要 イベント 画面上での設定 マクロでの取り扱い方 画面上で設定できないたぐいのイベント ダイアログ 画面上での作成 LibreOffice Productivity Suite

LibreOffice Productivity Suite サンプルのコンセプト 前回が真面目すぎたので、バランス的に今回はちょっとふざけたも のでもいいんじゃね? とはいえアイデアが枯渇した…かゆ…うま… LibreOffice Productivity Suite

LibreOffice Productivity Suite サンプルの動作を御覧ください ストップウォッチを表示する機能 LibreOffice Productivity Suite

LibreOffice Productivity Suite ソースコードのポイント シート上にコピペできるようにしてる(モードレスダイアログ) 時間がズレないように LibreOffice Productivity Suite

LibreOffice Productivity Suite 感想 前回に比べてしょぼい?せやな… LibreOffice Productivity Suite

LibreOffice Productivity Suite 第5回 拡張機能 LibreOffice Productivity Suite

LibreOffice Productivity Suite 記事の概要 拡張機能の基本的な作成方法 拡張機能内部の構成 メニューやツールバーへの実行ボタンの配置 ファイルの同梱や、ライセンスの同梱と表示 LibreOffice Productivity Suite

LibreOffice Productivity Suite サンプルのコンセプト 前回がちょっと手抜きだったので、もう少し良い感じのもの いかにも拡張機能って感じのもの 特定のドキュメントには依存せず、LibOの使い勝手を自分用にちょ っと良くするって方向性のもの でも本家の機能には取り込まれそうにない 既に実装したものが手元にあったので流用 LibreOffice Productivity Suite

LibreOffice Productivity Suite サンプルの動作をご確認ください 項目のインデントと、番号付けを行う拡張機能 WBSとか? LibreOffice Productivity Suite

LibreOffice Productivity Suite ソースコードのポイント アイコン画像はパブリックドメインで 番号付けは、もうちょっとエレガントに再帰処理とかやればよかった 気がするけどまーええか 設定方法に改良の余地あり LibreOffice Productivity Suite

LibreOffice Productivity Suite 感想 実用的な拡張機能も書けるん やで(ドヤァ LibreOffice Productivity Suite

LibreOffice Productivity Suite 第6回 VBA互換機能 LibreOffice Productivity Suite

LibreOffice Productivity Suite 記事の概要 基本的な動作、設定類など 簡単なVBAサンプルを用意し、動作の説明 動作しない場合の対応方法 VBAとしてExcel上で修正 LibreOffice BasicとしてLibO上で修正 などなど LibreOffice Productivity Suite

LibreOffice Productivity Suite 記事のポイント 動かないVBAも、技術的にはだいたい対応可能 ただ、愛と勇気と友情と努力と根性が必要かも LibreOffice Productivity Suite

LibreOffice Productivity Suite 感想 そもそも元のVBAの仕様やコードも、かなりめちゃくちゃなのが多い ので、手抜きせずに、一回そこから整理しなおしたほうが良い てかExcel2003→2010の移行も実はたいへんっす。みんな埋もれ た地雷に気づいてないだけでは? LibreOffice Productivity Suite

LibreOffice Productivity Suite 御清聴ありがとうございました。 質問等ございましたらどうぞ LibreOffice Productivity Suite