1 名前:ハンカチ仮面 mailto:sage [2006/10/06(金) 20:04:48 ] StarBasicまたはOOo Basicプログラミングに興味のある方、 もしくは学習中の方、知識共有の場にしましょう。 参考になる主なリンク StarSuite 8 Basic プログラミングガイド docs.sun.com/app/docs/doc/819-1332?l=ja OpenOffice.org 推進サイト ooosupport.good-day.net/ja/documents/faq/ OpenOffice.org日本ユーザー会翻訳プロジェクト BASIC HELP openoffice-docj.sourceforge.jp/tr/translated/basic_help_frame.html OpenOffice.org本家 API Project api.openoffice.org/ ウィキブックス OpenOffice.org Basic ja.wikibooks.org/wiki/OpenOffice.org_Basic ウィキブックス OpenOffice.org Calc Basic ja.wikibooks.org/wiki/OpenOffice.org_Calc_Basic pukiwiki Plus! hermione.s41.xrea.com/pukiwiki 他に追加情報があったら教えてください。
271 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 12:53:02 ] Sub clipboard_2 oClip = CreateUnoService("com.sun.star.datatransfer.clipboard.SystemClipboard") oTransfer = oClip.getContents() aDataFlavors = oTransfer.getTransferDataFlavors() bType = False For i = 0 To UBound(aDataFlavors) Step 1 aDataFlavor = aDataFlavors(i) If aDataFlavor.MimeType = "text/plain;charset=utf-16" Then bType = True Exit For End If Next If bType Then ' convert utf-16 to UNO string oConverter = CreateUnoService("com.sun.star.script.Converter") sData = oConverter.convertToSimpleType( _ oTransfer.getTransferData(aDataFlavor), _ com.sun.star.uno.TypeClass.STRING) End If End Sub 上記の "If bType Then" 以降の処理を行わず "aDataFlavor" を クリップボードに戻す事は可能でしょうか
272 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 13:29:10 ] >>271 クリップボードの内容を text/plain;charset=utf-16 だけにしたいってこと?
273 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 14:40:02 ] >>272 はい、なぜか文字数が多くなると "If bType Then" 以降の処理の結果 "sData"が空になってしまうので回避したいのです
274 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 14:45:16 ] >>273 64k 以上の文字列は扱えない・・・。というのが問題だとおもう OOo Basic だと文字列は64kまで
275 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 12:25:27 ] ttp://hermione.s41.xrea.com/pukiwiki/pukiwiki.php?OOoBasic%2FGeneric%2FWindow このページに >* boolean isVisible () 表示状態を返します >* void setVisible ( [in] boolean Visible ) 表示状態を切り替えます とあるのですが oContainerWindow.setVisible(False) は問題ありませんが bVisible=oContainerWindow.isVisible() はエラーになります 散々調べた結果 ttp://api.openoffice.org/docs/common/ref/com/sun/star/awt/XWindow.html#setVisible このページで setVisible は XWindow の下位 ttp://api.openoffice.org/docs/common/ref/com/sun/star/awt/XWindow2.html#isVisible isVisible は XWindow2 の下位である事まではわかったのですが、そこから先がわかりません ご教授賜りたく、よろしくお願いいたします
276 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 12:37:11 ] >>275 OOo 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 どんなエラーが出るんかね?
277 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 17:44:16 ] >>276 BASIC ランタイムエラー プロパティまたはメソッドが見つかりません です このスレッドを読むと1 系には実装されていないとかいうことでしょうか 設定は出来て取得できないなんて考えられないソフトです メディアを演奏しようとすると オブジェクト変数は設定できていません とか言われるし lockControllers() と addActionLock() を両方使っても セルカーソルが移動するし シート数40、サイズ9Mほど(Excel97の場合)のファイルを保存するのに5分!もかかるし (StarCalc形式なら20秒弱ですむが文字が化けるし、Excel形式だと開くときにシート毎に 行の高さの調整とかを頼みもしないのに実行するのでとてもうっとうしい) 非表示で開いたCSVファイルを保存すると空になってしまうし・・・ Excelのマクロを移植するのは断念します ありがとうございました さようなら
278 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 20:58:10 ] OOo のマクロは利用者が少ないし、ドキュメントも整備されてないから、 開発にかなり忍耐を強いられるのは事実だな。多分不具合も多いと思う。 OOo3 系でも改善される気配がないし。 それに Excel は 2003 までだったらマクロとか動作速度に関しては良くできてるよ。 ただ、Excel 2007 で9M のファイルを開くとエラいことになりそうな気はするけど。
279 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 21:35:08 ] >>278 よく使う API には問題ない Basic も大抵なんともないが、あまり使われてなさそうなランタイム関数を使うとバグであー、ってなる ドキュメントが整備されるとは思えん・・・DevGuide 読めば分かると思われてるし
280 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 21:54:41 ] まぁ、整備されつつあるドキュメントといえば ttp://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide PDF にすると 214 ページ 翻訳されるようだが・・・ よく使われるであろう Calc に関する内容が少なすぎんかね
281 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 22:11:23 ] 最近見てないけど、全機能の解説には程遠いんだよね、確か んで、ひたすら Google での検索地獄になる
282 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 14:48:54 ] まぁ、ぐぐっても解決策が出てきた例がない
283 名前:デフォルトの名無しさん [2008/09/07(日) 11:20:27 ] >>282 使えねーな、全く 会津若松市さん ご愁傷様
284 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 11:23:47 ] まあ英語ページで回答が見つかることもあるよ 彼らは一体どこで調べたんだろうと思うけども
285 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:34:40 ] 本家で、難儀な質問に回答を出してるのは、 ソース触ってる中の人たちじゃまいか? // ある意味、ソースがドキュメント状態?
286 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 18:23:15 ] 大抵のことは散乱しているドキュメントなどで見つかるんだよ ソースを見なきゃならんこともあったが・・・ とはいえ、ユーザーが最初の一歩を踏み出そうとするときにまとまったドキュメントが無いと躊躇すると思う マクロを書くユーザーの多くは OOo のソースなんて見たくないと思うんだが
287 名前:デフォルトの名無しさん [2008/09/08(月) 00:56:22 ] 使えねーな、全く
288 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 08:42:30 ] 普通は >>277 のような書き込みは盛大に叩かれるのが一般的なのに、 ここでは誰も否定しないのが素晴らしい。みんなOOoには不満を抱えてるんだな 「○○がMS Officeを捨ててOOoを採用」とかいうニュースを見るたびに 担当 SE はご愁傷様、という気分になるよ
289 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 11:00:09 ] VBAでシステム組むのが馬鹿なんだよな。 そうでないなら、MSOfficeを大幅に減らしても殆ど問題がないのに。
290 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 21:10:54 ] >>289 同意。
291 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 21:33:36 ] >>289 あの便利さは一度覚えるとなかなか抜け出せないと思うよ
292 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 22:02:50 ] >>291 マならありえない発言だな
293 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 22:09:53 ] 与えられた案件を顧客の要望に沿って実現するのがプログラマではないでしょうか
294 名前:デフォルトの名無しさん [2008/09/08(月) 23:27:41 ] >>289 > VBAでシステム組むのが馬鹿なんだよな。 > そうでないなら、MSOfficeを大幅に減らしても殆ど問題がないのに。 AccessVBAとSQLで大抵の業務がすげーーー効率化、精度向上、リアルタイム化出来るんだけど。 ほとんど労力いらずで。Baseなんてので開発すりゃ、100倍の労力と1/100のサービスになりそう。 なんせ、情報が貧困過ぎる。
295 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 00:24:07 ] 細かい指摘ですまんが、 × SQL ◎ RDBMS ○ MS SQL Server じゃないだろうか。 リアルタイム化というのは定期的にバッチで処理していた業務を OLTP 化するという事?
296 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 00:33:15 ] >>295 「AccessとVBA」って書きたかった に100ペセタ
297 名前:デフォルトの名無しさん [2008/09/09(火) 19:36:53 ] >>295 SQLは構造化クエリー言語だから、商品名ってわけじゃないと思うよ。 もち、Access内部のSQLを指す? Baseはやはりどう考えても代替にはなり得ないと思うが
298 名前:デフォルトの名無しさん [2008/09/09(火) 23:31:31 ] >>297 > Baseはやはりどう考えても代替にはなり得ないと思うが みんな黙っちゃったじゃまいか
299 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 23:37:54 ] MS Office は捨てて OOo に移行しろ、みたいなことを言う人は基本的に信用しないことにしている。 本気で OOo に触ったことがある人ならそんなこと言えないと思うし。
300 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 23:47:24 ] MSOfficeはVBA触って初めてそのバカ高い値段設定にも納得がいく。 開発環境としてすごい整ってる。 だがOO.oの未来を切り開きたい俺はPythonUNOで何とか頑張りたい。
301 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 00:10:28 ] >>299 信用するかどうかは君の好きで決めていいんだよ。 わざわざ理由を考えてことわる必要なんて無いさ。
302 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 00:24:12 ] このスレで言うのもなんだけど、Access を使うなら SQLite とか HSQLDB とか Apache Derby とか MySQL とかをお好みで使えば良いじゃんと思ってしまう。
303 名前:デフォルトの名無しさん [2008/09/10(水) 14:53:08 ] >>297 > Baseはやはりどう考えても代替にはなり得ないと思うが MSOfficeでも自動マクロ作成以外にマクロのコードを自分で組んでいる ユーザはそう多くはないだろうということだろう。 OOoのマクロ言語がVBAの代替になるとまで言っている人を俺はいまだ見たことがないが。 問題点は指摘している人はオープンソース派サイドにも幾人かいるが。
304 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 15:53:35 ] 純粋なロジックだけの話なら、ooo-basicはvbaの代替になると思う。 ぶっちゃけ、basicだから。 問題は、アプリとの絡みがある時に、リファレンスになる物が無いって事だろ。 calcのセル操作とかで分んない事があったら、キーマクロ吐き出させて、 呼出関数を探るんだけど、そのキーマクロが吐き出した関数の詳細が判らん。 例えばの話、セルの巾を変える関数が判ったら、 その近くにセルの高さを変える関数があるはずなんだけど、 そういう事が解るようなサマリーが無い。 その辺のドキュメントが整理されてくれば、使い易くなるんでないかなぁ。
305 名前:デフォルトの名無しさん [2008/09/10(水) 18:34:36 ] >>303 > MSOfficeでも自動マクロ作成以外にマクロのコードを自分で組んでいる > ユーザはそう多くはないだろうということだろう。 VBAは全員手書きだと思ってた Accessが吐き出すVBAコードは、ある程度例外処理もなされているが とてもじゃないが冗長すぎる。日本語入ってなくて分かりづらいし 後から手書きで直すのが苦痛ってか不可能。 普通、最初から手で書くか、コピペ手直し派がほとんどだと思うよ。 Accessが吐き出すSQLは割りと綺麗 後、とってもいじりやすい
306 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 19:39:50 ] 日本語コードに拒否反応起こらないの?
307 名前:デフォルトの名無しさん [2008/09/10(水) 22:17:22 ] >>306 オブジェクトの名称だろ コードが日本語であるはずがない ここの人は本当にVBA書いたことあるのだろうか?と疑いたくなる書き込みばかり Accessが吐き出すVBAは全てアスキーコードに変換される もちろん意味はある しかし日本語で済めばそれに越したことはない
308 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 00:38:04 ] >>304 >キーマクロ吐き出させて マクロの記録だとコマンド URL しか出んけど、その部分のソース見てるって事? dispatch は最終手段・・・
309 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 04:38:49 ] OOoの場合は、マクロの自動生成で吐き出されるコードと、 打ち込みコードとの乖離がありすぎるのがいちばん難点。 その上、日本語のマニュアル書籍がほとんど皆無だから。
310 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 06:07:01 ] >>309 あれはひどい あと、全APIのドキュメントがない以上、英語の状況も似たようなもんだと思うよ 英語ではチュートリアルがあるだけマシといえばマシだが
311 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 10:40:07 ] >>310 全API のドキュメントは登場しないと思う 今あるのは IDL ドキュメントだけど、IDL の無いサービスとかの IDL 追加を issue に出しても 内部用だから・・・とか言って拒否られる
312 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 15:27:36 ] Sub [test space] [文字列] = "abc" msgbox [文字列] End Sub
313 名前:デフォルトの名無しさん [2008/09/11(木) 22:37:56 ] 使えねーな。ほんと 誰でもいいから、もっと使ってネガティブキャンペーンして、MSOfficeの値段を下げてくれよ。
314 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 22:41:59 ] >>300 Py-UNO だとマクロを拡張機能に入れて配布しにくくないか? サービスにして com.sun.star.task.XJobExecutor インターフェースとか使わないと実行しにくい
315 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 07:21:33 ] OOoの普及率や完成度を考えたら、配布以前の問題だろ
316 名前:314 mailto:sage [2008/09/12(金) 13:26:52 ] >>300 すまん。2.4.1 の PythonScriptProvider に不具合があるみたいだ Linux 上だと動作するが、拡張機能が毎回無効にされる WinXP 上だと ScriptURIHelper がエラーを吐く・・・。
317 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 22:10:23 ] OOoでマクロならおとなしくBasicにしとくのが無難だと思うけどね。 一番需要があるから開発の今後に(少しは)期待できる気がする。 Javaですらどれだけ使われてるのか疑問。
318 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 22:24:07 ] Basic は今後は安定化のみしかないっぽいことをどっかの issue で見た気がする 他の言語使えって言ってた 最近 Basic 関連での拡張などは Novel が VBA との互換性を向上させようとしてランタイム関数などをいじっていたもの Type を Global 変数に入れると消えるのとか直してくれよ・・・ ttp://qa.openoffice.org/issues/show_bug.cgi?id=52057
319 名前:デフォルトの名無しさん [2008/09/12(金) 22:41:05 ] >>317 > 一番需要があるから開発の今後に(少しは)期待できる気がする。 > Javaですらどれだけ使われてるのか疑問。 たぶん習得する時間と労力が全て無駄になる
320 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 00:01:01 ] >Basic は今後は安定化のみしかない 安定するならそれはそれで結構なことじゃないか
321 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 04:36:31 ] マクロ記録機能で吐き出されるBasicコードをなんとかしてくれ〜
322 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 12:33:29 ] グラフいじったときの振る舞いとかを知りたいのに、そういうのは全く吐かれないんだっけ?
323 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 21:20:56 ] >>322 そう、全く・・・
324 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 21:53:03 ] グラフ絡みの挙動は、リファレンスで何とかならんかったっけ?
325 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 22:10:33 ] グラフに新しい系列を追加したりするのはリファじゃさっぱり・・・
326 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 00:26:24 ] >>325 www.oooforum.org/forum/viewtopic.phtml?t=4827 のスニペットを試してみれば? データテーブルの先頭カラムを、x値に割り当てておくのがコツ。 // .uno:ChangeChartDataでやれたような気がしたんだけど、 // 気のせいだったみたい。 // チャートを明示的に指定できるから、こっちの方がよさげなんだけど
327 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 00:45:06 ] >>326 それでやるとGUIからやるのとは違ったものになることが多くて ひとまとめにされたり、変に分割されたりするんよ ちょっと .chart2.data.DataProvider を試してみる でも getUsedData から取得できるデータに x のデータが一系列分しかみられないのは・・・
328 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 00:45:12 ] いや、結局googleでWeb上に分散している答えを探すしか方法がないってことが問題なんでしょ。 あらかじめ答えの書かれた URL が分かってるならいいけど、 それを知らず、なおかつその答えがWeb上に存在するかどうかすら怪しいものを、 疑問点が湧くたびに調べなきゃならないってのは相当なストレスだよ。 俺は一時期VBAマクロの移植作業で苦労した経験があるが、 もう当面やりたいとは思わない。
329 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 00:47:41 ] いや、GUI から出来るのにそもそも API から不可だったりすることが大問題 調べても見つからないから、ソースを見たら外部から利用できる API がなかったりする
330 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 01:01:24 ] >>327 x値は普通1系列しか無いんじゃない? >>328 >結局googleでWeb上に分散している答えを探す web全体まで見なくても、www.oooforum.org/forum/ 内だけで、 大抵の場合はカタが付くよ。 自分が困ってる問題には、たいがい先につまづいてる人が居るから。
331 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 01:07:20 ] >>330 XY 散布図に多系列だと、大抵は x に対応する y が必要だからさ・・・ .chart2.data.DataSequence は x と y の対応に関する指定がないっぽいから望み薄だ
332 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 01:19:14 ] 今試したら俺 >>326 の方法で XY 散布図のデータ系列の追加できたけどな。 もともと x, y1, y2 の2系列があるところを x, y1, y2, y3 の3系列にするってかんじに。 あとは色とかは線の太さとかは自分で設定すればいいし。
333 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 01:30:29 ] いや、散布図で一本目と別の x に対する y の値のグラフを同じグラフに描くような感じに 2.3 頃から使えるようになったやつ
334 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 01:34:58 ] なるほど、そんな機能があるとは知らなかった。 そんな新しい機能に対するAPIが用意されてるかどうかはすこぶる怪しいな。
335 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 11:05:10 ] ダメっぽいよ。未だGUIでも個別設定と纏めて設定を切り替えるととち狂うし。 散布図から他のグラフに変えて、元に戻してもおかしくなるし。 # 要は、x軸複数系列は完成してないと見るべし。
336 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 19:11:41 ] グラフのデータ系列の操作だがどうやら oChart = ThisComponent.getSheets().getByIndex(0).getCharts().getByIndex(0).getEmbeddedObject() oCooSys = oChart.getFirstDiagram().getCoordinateSystems() 付近から始めるみたいだ。
337 名前:336 mailto:sage [2008/09/20(土) 01:34:53 ] やっと、作成済みの散布図に新しい XY の系列の追加がうまくいったあぁ
338 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 10:04:47 ] >>337 おめ。 さぁ、後からツボった人が参照できるように、 書いたコードをどこかに晒す作業に戻るんだ。 // 公開の縛りとかが無くて、そゆ事が可能なコードならね:)
339 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 23:00:52 ] >>338 某所・・・ネットの狭間に書いといたよ
340 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 15:59:20 ] 3.0 rc3 が出て、正式が 10/7 だと正式は rc3 になるんだろうけど user/Script/python にいれた python マクロが認識されないままになりそうだ
341 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 13:41:17 ] OOo3.0をさっそく入れてみた。エクセル2003のマクロが動くかどうか試してみた。 シートオブジェクトを代入するところでつまずいた。orz Dim ST_G As Excel.Worksheet, ST_D As Excel.Worksheet Sub 図作成() Set ST_G = Worksheets("Sheet1") ←ここでエラー Set ST_D = Worksheets("Sheet2")
342 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 14:04:56 ] Dim ST_G As Excel.Worksheet を As Object にすればいいんじゃない
343 名前:341 mailto:sage [2008/10/14(火) 16:12:36 ] >342 ありがとうございます! ところが、別のところ(セルの塗りつぶし)でもエラーが出ました。移植に必要な情報ってどこかに あるんですか?
344 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:39:14 ] ちゅうかさ、v.2 の頃に以前 VBA サポートを有効にしたビルドを使ったことあるけど、 あれにあんまり期待しない方がいいと思うぞ。ほとんどが動かなかったし。
345 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 15:35:32 ] ※NetBeansスレでも聞いたのですが、こちらでもお願いします。 NetBeansで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を使ってみました。 よろしくお願いします。
346 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 15:42:53 ] >>345 こことかどうかな ttp://wiki.services.openoffice.org/wiki/General_UNO_Component_Project_Type
347 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 15:51:07 ] >>346 早速の返信ありがとうございます。 そのサイトを参考に進めていたのですが、Interfaceを追加するところから先に進まない状況です。 Logでも吐き出してくれれば調査できるのですが、そういうのも見当たらず・・。 もしかすると、IDEとOOのバージョン組み合わせに問題があるのかもしれません。 ほかにも何か、気になることがあればお願いします。
348 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 12:13:34 ] バイナリファイルからnull terminated stringを 読む方法はありますか? 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として 読み込む方法を教えてください。
349 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:12:07 ] バイナリデータの取得自体はこのへん? ttp://hermione.s41.xrea.com/pukiwiki/index.php?OOobbs%2F96 サイズの指定は手動でいいなら Dim buf(10) As Byte ' 0〜10の11個 oInputStream.readBytes(buf(), 11) こんな感じでできるんじゃないの。それをどうstringに変換するかは知らんけど。 ってそういう話じゃないのかな?
350 名前:348 mailto:sage [2008/11/26(水) 14:29:26 ] リンク先が参考になりました。 ありがとうございます。 バイト型の配列で読みとれたら、後は文字列への変換ですね。 Shift-JIS→Unicode変換の方法がわかれば、 Chr関数はUnicode値→文字へ変換と組み合わせることで 解決できそうです。
351 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:44:02 ] こういう基本的なドキュメントってどっかにまとまってるべきだよなあ
352 名前: mailto: [2008/11/26(水) 14:50:59 ] >>351 に言い出しっぺの法則が適用されました
353 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:54:39 ] いや、ドキュメント作るにしたって元ネタがSunの出してる全然不足だらけのドキュメントと 掲示板に散在するTIPS集しかないじゃん。まさかソースからドキュメント起こせとでも?
354 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 15:11:14 ] やる気があるならまずは全然不足だらけのドキュメントと掲示板に散在するTIPS集の情報を一箇所にまとめてみれば?
355 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 15:18:54 ] やる気があるなんて誰も言ってないけど。俺は自力で探す方法でなんとかしのいでるし。 まあVBAのならともかく、Calc Basic のドキュメントなんて書籍化しても100部くらいしか売れないだろうな。
356 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 15:22:44 ] まあそうだろうね やる気があるとは思っていないからあるならって仮定付きで言ったまでで しかし書籍化なんて言葉が思い浮かぶだけでもびっくりだ
357 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 15:26:30 ] 何をそんなにカリカリして食いついてくるのか理解不能だな
358 名前: mailto:sage [2008/11/26(水) 15:30:17 ] 「まとめるべきだよなぁ」なんて言ってるからじゃね? 頭から他力本願な癖に「〜すべきだ」なんて強要する態度が気に入らないと思われ。
359 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 15:33:08 ] 何怒ってんだろう?OOo関係に文句いったらカチンとくるの?
360 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 15:42:07 ] いやOOo使ってないし 単にあがってるスレだったのが理由 さがってればスレの存在自体知らなかった 一般的な突っ込みの仕方をしただけなんで OOoのドキュメント環境の知識はないよ
361 名前:デフォルトの名無しさん [2008/11/26(水) 17:13:44 ] 煽ってるつもりなんだろうか? アホの考える事はわからんの〜
362 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 21:56:25 ] VBA系はマじゃないからわんさかいるな・・・
363 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 22:40:06 ] >>348 seek して 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
364 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 16:47:11 ] マクロ編集のエディタが使い辛いのですが、エディタの機能を拡張したり、他のエディタと置き換えたり呼び出したりとか そういうことはできませんか?
365 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 22:06:11 ] VBAで開発して、ある程度できたらOOoにコピペして調整。
366 名前:デフォルトの名無しさん [2008/12/24(水) 11:19:22 ] Basice IDE 上でコピペしただけで、ダウンしてしまいます。。 何なんだろう。この使いがたさは。。
367 名前:さいき [2009/01/16(金) 19:16:56 ] base で何かを作りたいと思って 調べたことを書きました。 yumisaiki.blogspot.com/2009/01/open-office.html でも、普通に今日の日付を標準で表示させるというような簡単なこともmacro書かないといけないみたいですが、 方法がどうしてもわかりません。
368 名前:さいき [2009/01/19(月) 02:27:18 ] 自己レスで=す。今日、日付フィールドの属性にあるドロップダウンというのをはいにすると カレンダーコントロールのような入力画面になることを発見しました。 これはなかなか無料とは思えない便利な機能です!
369 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 22:46:37 ] >>368 Basic、Baseについては、oooug.jp/faq/ でも多くの情報が得られます。 例えば、oooug.jp/faq/index.php?Faq%2FBase なんてどうでしょう。 Baseでつまづいた時の参考になります。 日付フィールドに関しては、紆余跼蹐があって、初期のころは当日の日付が 入力されていたようです。以下にそんなことがかかれています。 oooug.jp/faq/index.php?Faq/1/334 以下を見ると、〜.odbというBaseのサンプルもたくさん登録されています。 oooug.jp/faq/index.php?plugin=attach&pcmd=list