【StarSuite Basic/OpenOffice.org Basic】
■ このスレッドは過去ログ倉庫に格納されています
0001ハンカチ仮面
2006/10/06(金) 20:04:48もしくは学習中の方、知識共有の場にしましょう。
参考になる主なリンク
StarSuite 8 Basic プログラミングガイド
http://docs.sun.com/app/docs/doc/819-1332?l=ja
OpenOffice.org 推進サイト
http://ooosupport.good-day.net/ja/documents/faq/
OpenOffice.org日本ユーザー会翻訳プロジェクト BASIC HELP
http://openoffice-docj.sourceforge.jp/tr/translated/basic_help_frame.html
OpenOffice.org本家 API Project
http://api.openoffice.org/
ウィキブックス OpenOffice.org Basic
http://ja.wikibooks.org/wiki/OpenOffice.org_Basic
ウィキブックス OpenOffice.org Calc Basic
http://ja.wikibooks.org/wiki/OpenOffice.org_Calc_Basic
pukiwiki Plus!
http://hermione.s41.xrea.com/pukiwiki
他に追加情報があったら教えてください。
0276デフォルトの名無しさん
2008/09/05(金) 12:37:11OOo 2.4.1 winXP では Calc のウィンドウに対して問題なく動く
Sub test25
oDoc = ThisComponent
oFrame = oDoc.getCurrentController().getFrame()
oContainerWindow = oFrame.getContainerWindow()
oContainerWindow.setVisible(False)
bVisible = oContainerWindow.isVisible()
oContainerWindow.setVisible(True)
End Sub
どんなエラーが出るんかね?
0277デフォルトの名無しさん
2008/09/05(金) 17:44:16BASIC ランタイムエラー
プロパティまたはメソッドが見つかりません
です
このスレッドを読むと1 系には実装されていないとかいうことでしょうか
設定は出来て取得できないなんて考えられないソフトです
メディアを演奏しようとすると
オブジェクト変数は設定できていません
とか言われるし
lockControllers() と addActionLock() を両方使っても
セルカーソルが移動するし
シート数40、サイズ9Mほど(Excel97の場合)のファイルを保存するのに5分!もかかるし
(StarCalc形式なら20秒弱ですむが文字が化けるし、Excel形式だと開くときにシート毎に
行の高さの調整とかを頼みもしないのに実行するのでとてもうっとうしい)
非表示で開いたCSVファイルを保存すると空になってしまうし・・・
Excelのマクロを移植するのは断念します
ありがとうございました
さようなら
0278デフォルトの名無しさん
2008/09/05(金) 20:58:10開発にかなり忍耐を強いられるのは事実だな。多分不具合も多いと思う。
OOo3 系でも改善される気配がないし。
それに Excel は 2003 までだったらマクロとか動作速度に関しては良くできてるよ。
ただ、Excel 2007 で9M のファイルを開くとエラいことになりそうな気はするけど。
0279デフォルトの名無しさん
2008/09/05(金) 21:35:08よく使う API には問題ない
Basic も大抵なんともないが、あまり使われてなさそうなランタイム関数を使うとバグであー、ってなる
ドキュメントが整備されるとは思えん・・・DevGuide 読めば分かると思われてるし
0280デフォルトの名無しさん
2008/09/05(金) 21:54:41ttp://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide
PDF にすると 214 ページ
翻訳されるようだが・・・
よく使われるであろう Calc に関する内容が少なすぎんかね
0281デフォルトの名無しさん
2008/09/05(金) 22:11:23んで、ひたすら Google での検索地獄になる
0282デフォルトの名無しさん
2008/09/06(土) 14:48:540283デフォルトの名無しさん
2008/09/07(日) 11:20:27使えねーな、全く
会津若松市さん ご愁傷様
0284デフォルトの名無しさん
2008/09/07(日) 11:23:47彼らは一体どこで調べたんだろうと思うけども
0285デフォルトの名無しさん
2008/09/07(日) 12:34:40ソース触ってる中の人たちじゃまいか?
// ある意味、ソースがドキュメント状態?
0286デフォルトの名無しさん
2008/09/07(日) 18:23:15ソースを見なきゃならんこともあったが・・・
とはいえ、ユーザーが最初の一歩を踏み出そうとするときにまとまったドキュメントが無いと躊躇すると思う
マクロを書くユーザーの多くは OOo のソースなんて見たくないと思うんだが
0287デフォルトの名無しさん
2008/09/08(月) 00:56:220288デフォルトの名無しさん
2008/09/08(月) 08:42:30ここでは誰も否定しないのが素晴らしい。みんなOOoには不満を抱えてるんだな
「○○がMS Officeを捨ててOOoを採用」とかいうニュースを見るたびに
担当 SE はご愁傷様、という気分になるよ
0289デフォルトの名無しさん
2008/09/08(月) 11:00:09そうでないなら、MSOfficeを大幅に減らしても殆ど問題がないのに。
0290デフォルトの名無しさん
2008/09/08(月) 21:10:54同意。
0291デフォルトの名無しさん
2008/09/08(月) 21:33:36あの便利さは一度覚えるとなかなか抜け出せないと思うよ
0292デフォルトの名無しさん
2008/09/08(月) 22:02:50マならありえない発言だな
0293デフォルトの名無しさん
2008/09/08(月) 22:09:530294デフォルトの名無しさん
2008/09/08(月) 23:27:41> VBAでシステム組むのが馬鹿なんだよな。
> そうでないなら、MSOfficeを大幅に減らしても殆ど問題がないのに。
AccessVBAとSQLで大抵の業務がすげーーー効率化、精度向上、リアルタイム化出来るんだけど。
ほとんど労力いらずで。Baseなんてので開発すりゃ、100倍の労力と1/100のサービスになりそう。
なんせ、情報が貧困過ぎる。
0295デフォルトの名無しさん
2008/09/09(火) 00:24:07× SQL
◎ RDBMS
○ MS SQL Server
じゃないだろうか。
リアルタイム化というのは定期的にバッチで処理していた業務を OLTP 化するという事?
0296デフォルトの名無しさん
2008/09/09(火) 00:33:150297デフォルトの名無しさん
2008/09/09(火) 19:36:53SQLは構造化クエリー言語だから、商品名ってわけじゃないと思うよ。
もち、Access内部のSQLを指す?
Baseはやはりどう考えても代替にはなり得ないと思うが
0298デフォルトの名無しさん
2008/09/09(火) 23:31:31> Baseはやはりどう考えても代替にはなり得ないと思うが
みんな黙っちゃったじゃまいか
0299デフォルトの名無しさん
2008/09/09(火) 23:37:54本気で OOo に触ったことがある人ならそんなこと言えないと思うし。
0300デフォルトの名無しさん
2008/09/09(火) 23:47:24開発環境としてすごい整ってる。
だがOO.oの未来を切り開きたい俺はPythonUNOで何とか頑張りたい。
0301デフォルトの名無しさん
2008/09/10(水) 00:10:28信用するかどうかは君の好きで決めていいんだよ。
わざわざ理由を考えてことわる必要なんて無いさ。
0302デフォルトの名無しさん
2008/09/10(水) 00:24:12Apache Derby とか MySQL とかをお好みで使えば良いじゃんと思ってしまう。
0303デフォルトの名無しさん
2008/09/10(水) 14:53:08> Baseはやはりどう考えても代替にはなり得ないと思うが
MSOfficeでも自動マクロ作成以外にマクロのコードを自分で組んでいる
ユーザはそう多くはないだろうということだろう。
OOoのマクロ言語がVBAの代替になるとまで言っている人を俺はいまだ見たことがないが。
問題点は指摘している人はオープンソース派サイドにも幾人かいるが。
0304デフォルトの名無しさん
2008/09/10(水) 15:53:35ぶっちゃけ、basicだから。
問題は、アプリとの絡みがある時に、リファレンスになる物が無いって事だろ。
calcのセル操作とかで分んない事があったら、キーマクロ吐き出させて、
呼出関数を探るんだけど、そのキーマクロが吐き出した関数の詳細が判らん。
例えばの話、セルの巾を変える関数が判ったら、
その近くにセルの高さを変える関数があるはずなんだけど、
そういう事が解るようなサマリーが無い。
その辺のドキュメントが整理されてくれば、使い易くなるんでないかなぁ。
0305デフォルトの名無しさん
2008/09/10(水) 18:34:36> MSOfficeでも自動マクロ作成以外にマクロのコードを自分で組んでいる
> ユーザはそう多くはないだろうということだろう。
VBAは全員手書きだと思ってた
Accessが吐き出すVBAコードは、ある程度例外処理もなされているが
とてもじゃないが冗長すぎる。日本語入ってなくて分かりづらいし
後から手書きで直すのが苦痛ってか不可能。
普通、最初から手で書くか、コピペ手直し派がほとんどだと思うよ。
Accessが吐き出すSQLは割りと綺麗
後、とってもいじりやすい
0306デフォルトの名無しさん
2008/09/10(水) 19:39:500307デフォルトの名無しさん
2008/09/10(水) 22:17:22オブジェクトの名称だろ
コードが日本語であるはずがない
ここの人は本当にVBA書いたことあるのだろうか?と疑いたくなる書き込みばかり
Accessが吐き出すVBAは全てアスキーコードに変換される
もちろん意味はある
しかし日本語で済めばそれに越したことはない
0308デフォルトの名無しさん
2008/09/11(木) 00:38:04>キーマクロ吐き出させて
マクロの記録だとコマンド URL しか出んけど、その部分のソース見てるって事?
dispatch は最終手段・・・
0309デフォルトの名無しさん
2008/09/11(木) 04:38:49打ち込みコードとの乖離がありすぎるのがいちばん難点。
その上、日本語のマニュアル書籍がほとんど皆無だから。
0310デフォルトの名無しさん
2008/09/11(木) 06:07:01あれはひどい
あと、全APIのドキュメントがない以上、英語の状況も似たようなもんだと思うよ
英語ではチュートリアルがあるだけマシといえばマシだが
0311デフォルトの名無しさん
2008/09/11(木) 10:40:07全API のドキュメントは登場しないと思う
今あるのは IDL ドキュメントだけど、IDL の無いサービスとかの IDL 追加を issue に出しても
内部用だから・・・とか言って拒否られる
0312デフォルトの名無しさん
2008/09/11(木) 15:27:36[文字列] = "abc"
msgbox [文字列]
End Sub
0313デフォルトの名無しさん
2008/09/11(木) 22:37:56誰でもいいから、もっと使ってネガティブキャンペーンして、MSOfficeの値段を下げてくれよ。
0314デフォルトの名無しさん
2008/09/11(木) 22:41:59Py-UNO だとマクロを拡張機能に入れて配布しにくくないか?
サービスにして com.sun.star.task.XJobExecutor インターフェースとか使わないと実行しにくい
0315デフォルトの名無しさん
2008/09/12(金) 07:21:330316314
2008/09/12(金) 13:26:52すまん。2.4.1 の PythonScriptProvider に不具合があるみたいだ
Linux 上だと動作するが、拡張機能が毎回無効にされる
WinXP 上だと ScriptURIHelper がエラーを吐く・・・。
0317デフォルトの名無しさん
2008/09/12(金) 22:10:23一番需要があるから開発の今後に(少しは)期待できる気がする。
Javaですらどれだけ使われてるのか疑問。
0318デフォルトの名無しさん
2008/09/12(金) 22:24:07他の言語使えって言ってた
最近 Basic 関連での拡張などは Novel が VBA との互換性を向上させようとしてランタイム関数などをいじっていたもの
Type を Global 変数に入れると消えるのとか直してくれよ・・・
ttp://qa.openoffice.org/issues/show_bug.cgi?id=52057
0319デフォルトの名無しさん
2008/09/12(金) 22:41:05> 一番需要があるから開発の今後に(少しは)期待できる気がする。
> Javaですらどれだけ使われてるのか疑問。
たぶん習得する時間と労力が全て無駄になる
0320デフォルトの名無しさん
2008/09/13(土) 00:01:01安定するならそれはそれで結構なことじゃないか
0321デフォルトの名無しさん
2008/09/14(日) 04:36:310322デフォルトの名無しさん
2008/09/14(日) 12:33:290323デフォルトの名無しさん
2008/09/16(火) 21:20:56そう、全く・・・
0324デフォルトの名無しさん
2008/09/16(火) 21:53:030325デフォルトの名無しさん
2008/09/16(火) 22:10:330326デフォルトの名無しさん
2008/09/17(水) 00:26:24http://www.oooforum.org/forum/viewtopic.phtml?t=4827
のスニペットを試してみれば?
データテーブルの先頭カラムを、x値に割り当てておくのがコツ。
// .uno:ChangeChartDataでやれたような気がしたんだけど、
// 気のせいだったみたい。
// チャートを明示的に指定できるから、こっちの方がよさげなんだけど
0327デフォルトの名無しさん
2008/09/17(水) 00:45:06それでやるとGUIからやるのとは違ったものになることが多くて
ひとまとめにされたり、変に分割されたりするんよ
ちょっと .chart2.data.DataProvider を試してみる
でも getUsedData から取得できるデータに x のデータが一系列分しかみられないのは・・・
0328デフォルトの名無しさん
2008/09/17(水) 00:45:12あらかじめ答えの書かれた URL が分かってるならいいけど、
それを知らず、なおかつその答えがWeb上に存在するかどうかすら怪しいものを、
疑問点が湧くたびに調べなきゃならないってのは相当なストレスだよ。
俺は一時期VBAマクロの移植作業で苦労した経験があるが、
もう当面やりたいとは思わない。
0329デフォルトの名無しさん
2008/09/17(水) 00:47:41調べても見つからないから、ソースを見たら外部から利用できる API がなかったりする
0330デフォルトの名無しさん
2008/09/17(水) 01:01:24>>328 >結局googleでWeb上に分散している答えを探す
web全体まで見なくても、http://www.oooforum.org/forum/内だけで、
大抵の場合はカタが付くよ。
自分が困ってる問題には、たいがい先につまづいてる人が居るから。
0331デフォルトの名無しさん
2008/09/17(水) 01:07:20XY 散布図に多系列だと、大抵は x に対応する y が必要だからさ・・・
.chart2.data.DataSequence は x と y の対応に関する指定がないっぽいから望み薄だ
0332デフォルトの名無しさん
2008/09/17(水) 01:19:14もともと x, y1, y2 の2系列があるところを x, y1, y2, y3 の3系列にするってかんじに。
あとは色とかは線の太さとかは自分で設定すればいいし。
0333デフォルトの名無しさん
2008/09/17(水) 01:30:292.3 頃から使えるようになったやつ
0334デフォルトの名無しさん
2008/09/17(水) 01:34:58そんな新しい機能に対するAPIが用意されてるかどうかはすこぶる怪しいな。
0335デフォルトの名無しさん
2008/09/17(水) 11:05:10散布図から他のグラフに変えて、元に戻してもおかしくなるし。
# 要は、x軸複数系列は完成してないと見るべし。
0336デフォルトの名無しさん
2008/09/19(金) 19:11:41oChart = ThisComponent.getSheets().getByIndex(0).getCharts().getByIndex(0).getEmbeddedObject()
oCooSys = oChart.getFirstDiagram().getCoordinateSystems()
付近から始めるみたいだ。
0337336
2008/09/20(土) 01:34:530338デフォルトの名無しさん
2008/09/20(土) 10:04:47さぁ、後からツボった人が参照できるように、
書いたコードをどこかに晒す作業に戻るんだ。
// 公開の縛りとかが無くて、そゆ事が可能なコードならね:)
0339デフォルトの名無しさん
2008/09/20(土) 23:00:52某所・・・ネットの狭間に書いといたよ
0340デフォルトの名無しさん
2008/09/29(月) 15:59:20user/Script/python にいれた python マクロが認識されないままになりそうだ
0341デフォルトの名無しさん
2008/10/14(火) 13:41:17シートオブジェクトを代入するところでつまずいた。orz
Dim ST_G As Excel.Worksheet, ST_D As Excel.Worksheet
Sub 図作成()
Set ST_G = Worksheets("Sheet1") ←ここでエラー
Set ST_D = Worksheets("Sheet2")
0342デフォルトの名無しさん
2008/10/14(火) 14:04:56を As Object にすればいいんじゃない
0343341
2008/10/14(火) 16:12:36ありがとうございます!
ところが、別のところ(セルの塗りつぶし)でもエラーが出ました。移植に必要な情報ってどこかに
あるんですか?
0344デフォルトの名無しさん
2008/10/14(火) 22:39:14あれにあんまり期待しない方がいいと思うぞ。ほとんどが動かなかったし。
0345デフォルトの名無しさん
2008/10/15(水) 15:35:32NetBeansでOpenOffice.Apiを使ったことのある方、教えてください。
やりたいこと 「OpenOffice.Calcからjavaのメソッドを呼び出す」
調べたら
NetBeansでOpenOffice.Apiを使えば簡単にスケルトンクラスを作ってくれることがわかりました。
早速、Apiをインストールしたのですが、以下の現象がでてます。
Apiをインストールすると
アドオン、calc アドイン、component、クライアントアプリ
の4つのプロジェクトが作成可能になります。
今回のやりたことは、componentプロジェクトでできそうです。
試してみると、アドオン・calc アドインは動作するのですが、componentプロジェクトがうまく作れません。
componentプロジェクトを作成すると、サービスの登録画面が表示され、インターフェース、サービスを追加しようとしたのですが、なぜか追加できません。
インタフェースを選択し新規データ型を定義ボタンから、追加しているのですが、うまくいきません。
解決策、またはやり方の間違えを指摘できる方、お願いします。
OS:WindowsXP pro
IDE:Netbeans 6.1
OO:OpenOffice 2.4.1
SDK:StarSuite_8_SDK
で試しています。
OpenOfficeSDKは現在DLできないようなので、StarSuite_8_SDKを使ってみました。
よろしくお願いします。
0346デフォルトの名無しさん
2008/10/15(水) 15:42:53こことかどうかな
ttp://wiki.services.openoffice.org/wiki/General_UNO_Component_Project_Type
0347デフォルトの名無しさん
2008/10/15(水) 15:51:07早速の返信ありがとうございます。
そのサイトを参考に進めていたのですが、Interfaceを追加するところから先に進まない状況です。
Logでも吐き出してくれれば調査できるのですが、そういうのも見当たらず・・。
もしかすると、IDEとOOのバージョン組み合わせに問題があるのかもしれません。
ほかにも何か、気になることがあればお願いします。
0348デフォルトの名無しさん
2008/11/26(水) 12:13:34読む方法はありますか?
OpenOffice.org 3.0/calc/OOo Basicです。
対象のファイルはバイナリファイル
(ゲーム提督の決断4のセーブデータ)であり
アドレス2192F(h)から
8b e3 98 5a 8e ae 8a cd 90 ed 00
と記録されています。(Shift-JISで「九六式艦戦」)
Dim Result as String
Get #1, Offset+1, Result
とすると「六式艦戦」から始まる長さ51807バイトの
文字列になってしまいます。
どうやら先頭2バイトを文字列長さと認識しており、
00を文字列終端と認識しません。
Input #1, Result
とすると「ヒ ̄リZホ?ハ?ミ?」という長さ10バイトの
文字化けした文字列になってしまいます。
null terminated stringをOOo Basicのstringとして
読み込む方法を教えてください。
0349デフォルトの名無しさん
2008/11/26(水) 14:12:07ttp://hermione.s41.xrea.com/pukiwiki/index.php?OOobbs%2F96
サイズの指定は手動でいいなら
Dim buf(10) As Byte ' 0〜10の11個
oInputStream.readBytes(buf(), 11)
こんな感じでできるんじゃないの。それをどうstringに変換するかは知らんけど。
ってそういう話じゃないのかな?
0350348
2008/11/26(水) 14:29:26ありがとうございます。
バイト型の配列で読みとれたら、後は文字列への変換ですね。
Shift-JIS→Unicode変換の方法がわかれば、
Chr関数はUnicode値→文字へ変換と組み合わせることで
解決できそうです。
0351デフォルトの名無しさん
2008/11/26(水) 14:44:020353デフォルトの名無しさん
2008/11/26(水) 14:54:39掲示板に散在するTIPS集しかないじゃん。まさかソースからドキュメント起こせとでも?
0354デフォルトの名無しさん
2008/11/26(水) 15:11:140355デフォルトの名無しさん
2008/11/26(水) 15:18:54まあVBAのならともかく、Calc Basic のドキュメントなんて書籍化しても100部くらいしか売れないだろうな。
0356デフォルトの名無しさん
2008/11/26(水) 15:22:44やる気があるとは思っていないからあるならって仮定付きで言ったまでで
しかし書籍化なんて言葉が思い浮かぶだけでもびっくりだ
0357デフォルトの名無しさん
2008/11/26(水) 15:26:300359デフォルトの名無しさん
2008/11/26(水) 15:33:080360デフォルトの名無しさん
2008/11/26(水) 15:42:07単にあがってるスレだったのが理由
さがってればスレの存在自体知らなかった
一般的な突っ込みの仕方をしただけなんで
OOoのドキュメント環境の知識はないよ
0361デフォルトの名無しさん
2008/11/26(水) 17:13:44アホの考える事はわからんの〜
0362デフォルトの名無しさん
2008/11/26(水) 21:56:250363デフォルトの名無しさん
2008/11/27(木) 22:40:06seek して TextInputStream を Shift_JIS エンコードに設定して
区切り文字に chr(0) 指定の readString で読むとか
8B E3 00 8B E3 98 5A 8E AE 8A CD 90 ED 00 8B E3
Sub readtysef
sURL = "file:///E:/usr/123"
oIN = CreateUnoService( _
"com.sun.star.ucb.SimpleFileAccess")._
openFileRead(sURL)
oTxtRead = CreateUnoService( _
"com.sun.star.io.TextInputStream" )
oTxtRead.setEncoding("Shift_JIS")
oTxtRead.setInputStream(oIn)
oTxtRead.skipBytes(3) ' from 8B
sRes = oTxtRead.readString(Array(chr(0)), True)
oIn.closeInput()
End Sub
0364デフォルトの名無しさん
2008/12/11(木) 16:47:11そういうことはできませんか?
0365デフォルトの名無しさん
2008/12/18(木) 22:06:110366デフォルトの名無しさん
2008/12/24(水) 11:19:22Basice IDE 上でコピペしただけで、ダウンしてしまいます。。
何なんだろう。この使いがたさは。。
0367さいき
2009/01/16(金) 19:16:56http://yumisaiki.blogspot.com/2009/01/open-office.html
でも、普通に今日の日付を標準で表示させるというような簡単なこともmacro書かないといけないみたいですが、
方法がどうしてもわかりません。
0368さいき
2009/01/19(月) 02:27:18カレンダーコントロールのような入力画面になることを発見しました。
これはなかなか無料とは思えない便利な機能です!
0369デフォルトの名無しさん
2009/01/20(火) 22:46:37Basic、Baseについては、http://oooug.jp/faq/ でも多くの情報が得られます。
例えば、http://oooug.jp/faq/index.php?Faq%2FBase なんてどうでしょう。
Baseでつまづいた時の参考になります。
日付フィールドに関しては、紆余跼蹐があって、初期のころは当日の日付が
入力されていたようです。以下にそんなことがかかれています。
http://oooug.jp/faq/index.php?Faq/1/334
以下を見ると、〜.odbというBaseのサンプルもたくさん登録されています。
http://oooug.jp/faq/index.php?plugin=attach&pcmd=list
0370ハンカチ仮面
2009/03/04(水) 00:55:440371デフォルトの名無しさん
2009/03/14(土) 11:27:020372デフォルトの名無しさん
2009/03/20(金) 21:26:07オヤスミ…
<⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
0373デフォルトの名無しさん
2009/04/15(水) 23:18:020374デフォルトの名無しさん
2009/04/20(月) 03:25:020375デフォルトの名無しさん
2009/05/11(月) 10:57:31■ このスレッドは過去ログ倉庫に格納されています