●
鎌滝雅久/OpenOffice.org日本ユーザー会
●
OSC2007 Hokkaido
●
2007年6月30日土曜日 10:55-11:40
Baseによるアプリケーション
開発とサポート
本日の予定
●
デモ(どこでもPDF/見積書作成)
●
Basicでプログラム~Visual Studioはいらない?
●Microsoft Officeからの移行
ここでちょっとアンケート
●
OpenOffice.org Basicを使ったことのある方
デモ/どこでもPDF
●Basicで作成された単独アプリケーション
●ダイアログベースのアプリケーション
●動作条件
– OpenOffice.orgがインストールされていること ●拡張機能として配布可能
どこでもPDF
●オリジナル PDF_Export/はにゃ?さん
– http://hermione.s41.xrea.com/pukiwiki/pukiwiki .php?OOobbs2%2F4 ●どこでもPDFは上記に筆者が若干のBasicとダイア
ログを加えたもの
デモ/見積書作成プログラム
●
Calc/BaseとBasicによるアプリケーション
●秋田パソコンステーション作成
– http://www.ne.jp/asahi/pa/sta/
見積書作成プログラム
●
旧バージョンは
Basicでプログラム
OpenOffice.org Basic IDE
●
Basicを用いてプログラムを作成するためのツール
●呼び出し方
– [ツール]-[マクロ]-[マクロの管理]- [OpenOffice.org Basic] – マクロを選び[編集] ●使い方はVisual Basicとほぼ同じ
Basicでプログラム
IDEの使い方
ライブラリ名 プロシージャ名 モジュール名 ダイアログ名Basicでプログラム
コントロールへのマクロ割り当て
コントロールを配置できるツールバー ボタンの名前 ボタンに割り当てる プロシージャ名Basicでプログラム
Calc/Writerでのコントロールの扱い
フォームコントロール、フォーム デザインの2つのツールバー は表示メニューから呼び出す
Basicでプログラム
ダイアログを直接起動する
●OpenOffice.orgでは、以下の起動オプションで
Basicの呼び出しが可能
– soffice.exe macro:///Standard.Mdule1.main – バッチ、シェルスクリプトファイルで起動 – どこでもPDFの場合はVBシェルでダイアログを呼び出しSet shell = WScript.CreateObject("WScript.Shell")
Basicでプログラム
あなたもにもできる拡張機能
●Basicプログラムは拡張機能(エクステンション/拡
張子oxt)にすることで配布可能なプログラムに
●マクロの管理の機能で作成は実に簡単
– [ツール]-[マクロ]-[マクロの管理]- [OpenOffice.org Basic]Basicでプログラム
Basicでプログラム
拡張機能で「文字の均等割り付け」
●はにゃ?さん、satoさん、筆者で作成
– http://hermione.s41.xrea.com/pukiwiki/pukiwiki .php?OOobbs2%2F32 よりダウンロード – JapaneseJustify.oxt ファイルをダブルクリック – もしくは[ツール]-[拡張機能マネージャ]でBasicでプログラム
マクロのメニューへの登録
Microsoft Officeからの移行
マクロ
●Basicで書かれたもの
– 新たにコーディングしましょう ●マクロの記録で作成されたもの
– OpenOffice.orgでもマクロの記録を使いましょうMicrosoft Officeからの移行
マクロの格納場所
●Microsoft Office
– ファイルごと/マクロの警告あり – マクロ入りファイルに鈍感になる→ウイルス感染の恐れ ●OpenOffice.org
– マイマクロ/マクロの警告なし – 配布は拡張機能で→将来的には何らかの認証Microsoft Officeからの移行
Accessのスタートメニュー
●
Baseフォームでは起動時のメニューにはできない
●Basicのダイアログでメニューを作成
Microsoft Officeからの移行
スタートメニューからフォーム呼び出し
●
下記のBasicで実現/レポートも同様
Sub FormStart
'**** プロパティを入れるところ
Dim pProp(1) As New com.sun.star.beans.PropertyValue '**** データベースを開く sURL = ConvertToURL("C:\PathName\FileName.odb") oDoc = starDesktop.loadComponentFromURL(sURL,"_default",0,Array()) '**** フォームとコネクションの接続 oForms = oDoc.getFormDocuments() oAConnection = oDoc.DataSource.getConnection("","") '**** プロパティを設定 Nameが属性 Valueが値 pProp(0).Name = "ActiveConnection" 'コネクション pProp(0).Value = oAConnection pProp(1).Name = "OpenMode" pProp(1).Value = "open" '**** フォームを開く oFormulario = oForms.loadComponentFromURL("FormName","_default",0,pProp()) End Sub
Microsoft Officeからの移行
Accessのレポート
●Access
– フィールドに計算式を設定でき、小計、合計欄の設置が 簡単 ●Base
– ユニオンクエリーで小計、合計欄を設定しレポート化Microsoft Officeからの移行
更新系クエリー
●SQLを埋め込んだBasic
– テーブル作成クエリー→CREATE TABLE – 更新クエリー→UPDATE – クエリーからテーブル作成→SELECT INTOMicrosoft Officeからの移行
Excelシートのテーブル化
●Access
– ワークシート変換コマンドで簡単に実現 ●Base
– Excel→Calc→テーブルへと変換するBasicを作成OpenOffice.orgのサポート
●OpenOffice.orgの導入支援サポート
– アシストが6月より開始 ● http://www.ashisuto.co.jp/solution/oss/openoffice/ – グッデイ ● http://ooosupport.good-day.net/ja/enterpriseコミュニティによる
OpenOffice.orgのサポート
●OOo Q&A
– http://oooug.jp/faq/ – 質問登録は1500件以上/完了率6割 – 企業・自治体も利用 ●メーリングリスト
参考資料
●OpenOffice.org Basic
– StarSuite 8 Basicプログラミングガイド ● http://docs.sun.com/app/docs/doc/819-1332?l=ja&q=starsuite+8 – オープンガイドブック OpenOffice.org 2.0 ● http://ooosupport.good-day.net/ja/documents/manual/– OOo Basic Wiki