Baseによるアプリケーション 開発とサポート ● 鎌滝雅久/OpenOffice.org日本ユーザー会 ● OSC2007 Hokkaido ● 2007年6月30日土曜日 10:55-11:40 ● 北海道大学学術交流会館 第4会議室 本日の予定 ● デモ(どこでもPDF/見積書作成) ● Basicでプログラム~Visual Studioはいらない? ● Microsoft Officeからの移行 ● OpenOffice.orgのサポート ここでちょっとアンケート ● OpenOffice.org Basicを使ったことのある方 – Yes/No デモ/どこでもPDF ● Basicで作成された単独アプリケーション ● ダイアログベースのアプリケーション ● 動作条件 – ● OpenOffice.orgがインストールされていること 拡張機能として配布可能 デモ/どこでもPDF どこでも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/ 拡張機能とCalc、Baseファイルを配布 デモ/見積書作成プログラム 見積書作成プログラム ● 旧バージョンは ダイアログベース 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") shell.Run "OpenOfficePortable.exe -minimized macro:///PDF_Export.Module2.MainMenu ", 3, true Basicでプログラム あなたもにもできる拡張機能 ● ● Basicプログラムは拡張機能(エクステンション/拡 張子oxt)にすることで配布可能なプログラムに マクロの管理の機能で作成は実に簡単 – – [ツール]-[マクロ]-[マクロの管理]- [OpenOffice.org Basic] [管理]ボタンをクリック Basicでプログラム マクロの管理で拡張機能を作成 Basicでプログラム 拡張機能で「文字の均等割り付け」 ● はにゃ?さん、satoさん、筆者で作成 – – – ● http://hermione.s41.xrea.com/pukiwiki/pukiwiki .php?OOobbs2%2F32 よりダウンロード JapaneseJustify.oxt ファイルをダブルクリック もしくは[ツール]-[拡張機能マネージャ]で WordにあってWriterにない機能の実現 Basicでプログラム マクロのメニューへの登録 ● [ツール]-[カスタマイズ] Microsoft Officeからの移行 マクロ ● Basicで書かれたもの – ● マクロの記録で作成されたもの – ● 新たにコーディングしましょう OpenOffice.orgでもマクロの記録を使いましょう SUSEなどLinux版CalcではExcel互換機能あり Microsoft Officeからの移行 マクロの格納場所 ● Microsoft Office – – ● ファイルごと/マクロの警告あり マクロ入りファイルに鈍感になる→ウイルス感染の恐れ OpenOffice.org – – マイマクロ/マクロの警告なし 配布は拡張機能で→将来的には何らかの認証 Microsoft Officeからの移行 Accessのスタートメニュー ● Baseフォームでは起動時のメニューにはできない ● Basicのダイアログでメニューを作成 ● soffice.exeの起動時オプションでメニューを表示 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 – – ユニオンクエリーで小計、合計欄を設定しレポート化 Basicで直接Calcへ出力する方法も Microsoft Officeからの移行 更新系クエリー ● SQLを埋め込んだBasic – – – テーブル作成クエリー→CREATE TABLE 更新クエリー→UPDATE クエリーからテーブル作成→SELECT INTO Microsoft Officeからの移行 Excelシートのテーブル化 ● Access – ● ワークシート変換コマンドで簡単に実現 Base – – Excel→Calc→テーブルへと変換するBasicを作成 2.1以降ではシートのコピー&貼り付けでもOK 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割 企業・自治体も利用 メーリングリスト – http://ja.openoffice.org/ml_info.html 参考資料 ● OpenOffice.org Basic – StarSuite 8 Basicプログラミングガイド ● – オープンガイドブック OpenOffice.org 2.0 ● – http://docs.sun.com/app/docs/doc/8191332?l=ja&q=starsuite+8 http://ooosupport.goodday.net/ja/documents/manual/ OOo Basic Wiki ● http://hermione.s41.xrea.com/pukiwiki/
© Copyright 2024 Paperzz