【StarSuite Basic/OpenOffice.org Basic】at TECH
【StarSuite Basic/OpenOffice.org Basic】 - 暇つぶし2ch288:デフォルトの名無しさん
08/09/08 08:42:30
普通は >>277 のような書き込みは盛大に叩かれるのが一般的なのに、
ここでは誰も否定しないのが素晴らしい。みんなOOoには不満を抱えてるんだな

「○○がMS Officeを捨ててOOoを採用」とかいうニュースを見るたびに
担当 SE はご愁傷様、という気分になるよ

289:デフォルトの名無しさん
08/09/08 11:00:09
VBAでシステム組むのが馬鹿なんだよな。
そうでないなら、MSOfficeを大幅に減らしても殆ど問題がないのに。

290:デフォルトの名無しさん
08/09/08 21:10:54
>>289
同意。

291:デフォルトの名無しさん
08/09/08 21:33:36
>>289
あの便利さは一度覚えるとなかなか抜け出せないと思うよ

292:デフォルトの名無しさん
08/09/08 22:02:50
>>291
マならありえない発言だな

293:デフォルトの名無しさん
08/09/08 22:09:53
与えられた案件を顧客の要望に沿って実現するのがプログラマではないでしょうか

294:デフォルトの名無しさん
08/09/08 23:27:41
>>289
> VBAでシステム組むのが馬鹿なんだよな。
> そうでないなら、MSOfficeを大幅に減らしても殆ど問題がないのに。
AccessVBAとSQLで大抵の業務がすげーーー効率化、精度向上、リアルタイム化出来るんだけど。
ほとんど労力いらずで。Baseなんてので開発すりゃ、100倍の労力と1/100のサービスになりそう。
なんせ、情報が貧困過ぎる。

295:デフォルトの名無しさん
08/09/09 00:24:07
細かい指摘ですまんが、

× SQL
◎ RDBMS
○ MS SQL Server

じゃないだろうか。
リアルタイム化というのは定期的にバッチで処理していた業務を OLTP 化するという事?

296:デフォルトの名無しさん
08/09/09 00:33:15
>>295 「AccessとVBA」って書きたかった に100ペセタ

297:デフォルトの名無しさん
08/09/09 19:36:53
>>295
SQLは構造化クエリー言語だから、商品名ってわけじゃないと思うよ。
もち、Access内部のSQLを指す?

Baseはやはりどう考えても代替にはなり得ないと思うが

298:デフォルトの名無しさん
08/09/09 23:31:31
>>297

> Baseはやはりどう考えても代替にはなり得ないと思うが
みんな黙っちゃったじゃまいか

299:デフォルトの名無しさん
08/09/09 23:37:54
MS Office は捨てて OOo に移行しろ、みたいなことを言う人は基本的に信用しないことにしている。
本気で OOo に触ったことがある人ならそんなこと言えないと思うし。

300:デフォルトの名無しさん
08/09/09 23:47:24
MSOfficeはVBA触って初めてそのバカ高い値段設定にも納得がいく。
開発環境としてすごい整ってる。

だがOO.oの未来を切り開きたい俺はPythonUNOで何とか頑張りたい。

301:デフォルトの名無しさん
08/09/10 00:10:28
>>299
信用するかどうかは君の好きで決めていいんだよ。
わざわざ理由を考えてことわる必要なんて無いさ。

302:デフォルトの名無しさん
08/09/10 00:24:12
このスレで言うのもなんだけど、Access を使うなら SQLite とか HSQLDB とか
Apache Derby とか MySQL とかをお好みで使えば良いじゃんと思ってしまう。

303:デフォルトの名無しさん
08/09/10 14:53:08
>>297
> Baseはやはりどう考えても代替にはなり得ないと思うが

MSOfficeでも自動マクロ作成以外にマクロのコードを自分で組んでいる
ユーザはそう多くはないだろうということだろう。
OOoのマクロ言語がVBAの代替になるとまで言っている人を俺はいまだ見たことがないが。
問題点は指摘している人はオープンソース派サイドにも幾人かいるが。

304:デフォルトの名無しさん
08/09/10 15:53:35
純粋なロジックだけの話なら、ooo-basicはvbaの代替になると思う。
ぶっちゃけ、basicだから。

問題は、アプリとの絡みがある時に、リファレンスになる物が無いって事だろ。
calcのセル操作とかで分んない事があったら、キーマクロ吐き出させて、
呼出関数を探るんだけど、そのキーマクロが吐き出した関数の詳細が判らん。
例えばの話、セルの巾を変える関数が判ったら、
その近くにセルの高さを変える関数があるはずなんだけど、
そういう事が解るようなサマリーが無い。
その辺のドキュメントが整理されてくれば、使い易くなるんでないかなぁ。

305:デフォルトの名無しさん
08/09/10 18:34:36
>>303
> MSOfficeでも自動マクロ作成以外にマクロのコードを自分で組んでいる
> ユーザはそう多くはないだろうということだろう。
VBAは全員手書きだと思ってた
Accessが吐き出すVBAコードは、ある程度例外処理もなされているが
とてもじゃないが冗長すぎる。日本語入ってなくて分かりづらいし
後から手書きで直すのが苦痛ってか不可能。
普通、最初から手で書くか、コピペ手直し派がほとんどだと思うよ。

Accessが吐き出すSQLは割りと綺麗
後、とってもいじりやすい

306:デフォルトの名無しさん
08/09/10 19:39:50
日本語コードに拒否反応起こらないの?

307:デフォルトの名無しさん
08/09/10 22:17:22
>>306
オブジェクトの名称だろ
コードが日本語であるはずがない
ここの人は本当にVBA書いたことあるのだろうか?と疑いたくなる書き込みばかり

Accessが吐き出すVBAは全てアスキーコードに変換される
もちろん意味はある

しかし日本語で済めばそれに越したことはない

308:デフォルトの名無しさん
08/09/11 00:38:04
>>304
>キーマクロ吐き出させて

マクロの記録だとコマンド URL しか出んけど、その部分のソース見てるって事?
dispatch は最終手段・・・

309:デフォルトの名無しさん
08/09/11 04:38:49
OOoの場合は、マクロの自動生成で吐き出されるコードと、
打ち込みコードとの乖離がありすぎるのがいちばん難点。
その上、日本語のマニュアル書籍がほとんど皆無だから。

310:デフォルトの名無しさん
08/09/11 06:07:01
>>309
あれはひどい

あと、全APIのドキュメントがない以上、英語の状況も似たようなもんだと思うよ
英語ではチュートリアルがあるだけマシといえばマシだが

311:デフォルトの名無しさん
08/09/11 10:40:07
>>310
全API のドキュメントは登場しないと思う
今あるのは IDL ドキュメントだけど、IDL の無いサービスとかの IDL 追加を issue に出しても
内部用だから・・・とか言って拒否られる

312:デフォルトの名無しさん
08/09/11 15:27:36
Sub [test space]
[文字列] = "abc"
msgbox [文字列]
End Sub

313:デフォルトの名無しさん
08/09/11 22:37:56
使えねーな。ほんと
誰でもいいから、もっと使ってネガティブキャンペーンして、MSOfficeの値段を下げてくれよ。

314:デフォルトの名無しさん
08/09/11 22:41:59
>>300
Py-UNO だとマクロを拡張機能に入れて配布しにくくないか?
サービスにして com.sun.star.task.XJobExecutor インターフェースとか使わないと実行しにくい

315:デフォルトの名無しさん
08/09/12 07:21:33
OOoの普及率や完成度を考えたら、配布以前の問題だろ

316:314
08/09/12 13:26:52
>>300
すまん。2.4.1 の PythonScriptProvider に不具合があるみたいだ

Linux 上だと動作するが、拡張機能が毎回無効にされる
WinXP 上だと ScriptURIHelper がエラーを吐く・・・。

317:デフォルトの名無しさん
08/09/12 22:10:23
OOoでマクロならおとなしくBasicにしとくのが無難だと思うけどね。
一番需要があるから開発の今後に(少しは)期待できる気がする。
Javaですらどれだけ使われてるのか疑問。

318:デフォルトの名無しさん
08/09/12 22:24:07
Basic は今後は安定化のみしかないっぽいことをどっかの issue で見た気がする
他の言語使えって言ってた
最近 Basic 関連での拡張などは Novel が VBA との互換性を向上させようとしてランタイム関数などをいじっていたもの

Type を Global 変数に入れると消えるのとか直してくれよ・・・
URLリンク(qa.openoffice.org)

319:デフォルトの名無しさん
08/09/12 22:41:05
>>317
> 一番需要があるから開発の今後に(少しは)期待できる気がする。
> Javaですらどれだけ使われてるのか疑問。

たぶん習得する時間と労力が全て無駄になる

320:デフォルトの名無しさん
08/09/13 00:01:01
>Basic は今後は安定化のみしかない

安定するならそれはそれで結構なことじゃないか

321:デフォルトの名無しさん
08/09/14 04:36:31
マクロ記録機能で吐き出されるBasicコードをなんとかしてくれ~

322:デフォルトの名無しさん
08/09/14 12:33:29
グラフいじったときの振る舞いとかを知りたいのに、そういうのは全く吐かれないんだっけ?

323:デフォルトの名無しさん
08/09/16 21:20:56
>>322
そう、全く・・・

324:デフォルトの名無しさん
08/09/16 21:53:03
グラフ絡みの挙動は、リファレンスで何とかならんかったっけ?

325:デフォルトの名無しさん
08/09/16 22:10:33
グラフに新しい系列を追加したりするのはリファじゃさっぱり・・・

326:デフォルトの名無しさん
08/09/17 00:26:24
>>325
URLリンク(www.oooforum.org)
のスニペットを試してみれば?
データテーブルの先頭カラムを、x値に割り当てておくのがコツ。

// .uno:ChangeChartDataでやれたような気がしたんだけど、
// 気のせいだったみたい。
// チャートを明示的に指定できるから、こっちの方がよさげなんだけど

327:デフォルトの名無しさん
08/09/17 00:45:06
>>326
それでやるとGUIからやるのとは違ったものになることが多くて
ひとまとめにされたり、変に分割されたりするんよ

ちょっと .chart2.data.DataProvider を試してみる
でも getUsedData から取得できるデータに x のデータが一系列分しかみられないのは・・・

328:デフォルトの名無しさん
08/09/17 00:45:12
いや、結局googleでWeb上に分散している答えを探すしか方法がないってことが問題なんでしょ。

あらかじめ答えの書かれた URL が分かってるならいいけど、
それを知らず、なおかつその答えがWeb上に存在するかどうかすら怪しいものを、
疑問点が湧くたびに調べなきゃならないってのは相当なストレスだよ。

俺は一時期VBAマクロの移植作業で苦労した経験があるが、
もう当面やりたいとは思わない。

329:デフォルトの名無しさん
08/09/17 00:47:41
いや、GUI から出来るのにそもそも API から不可だったりすることが大問題
調べても見つからないから、ソースを見たら外部から利用できる API がなかったりする

330:デフォルトの名無しさん
08/09/17 01:01:24
>>327 x値は普通1系列しか無いんじゃない?

>>328 >結局googleでWeb上に分散している答えを探す
web全体まで見なくても、URLリンク(www.oooforum.org)内だけで、
大抵の場合はカタが付くよ。
自分が困ってる問題には、たいがい先につまづいてる人が居るから。

331:デフォルトの名無しさん
08/09/17 01:07:20
>>330
XY 散布図に多系列だと、大抵は x に対応する y が必要だからさ・・・
.chart2.data.DataSequence は x と y の対応に関する指定がないっぽいから望み薄だ

332:デフォルトの名無しさん
08/09/17 01:19:14
今試したら俺 >>326 の方法で XY 散布図のデータ系列の追加できたけどな。
もともと x, y1, y2 の2系列があるところを x, y1, y2, y3 の3系列にするってかんじに。

あとは色とかは線の太さとかは自分で設定すればいいし。

333:デフォルトの名無しさん
08/09/17 01:30:29
いや、散布図で一本目と別の x に対する y の値のグラフを同じグラフに描くような感じに
2.3 頃から使えるようになったやつ

334:デフォルトの名無しさん
08/09/17 01:34:58
なるほど、そんな機能があるとは知らなかった。

そんな新しい機能に対するAPIが用意されてるかどうかはすこぶる怪しいな。

335:デフォルトの名無しさん
08/09/17 11:05:10
ダメっぽいよ。未だGUIでも個別設定と纏めて設定を切り替えるととち狂うし。
散布図から他のグラフに変えて、元に戻してもおかしくなるし。
# 要は、x軸複数系列は完成してないと見るべし。

336:デフォルトの名無しさん
08/09/19 19:11:41
グラフのデータ系列の操作だがどうやら
oChart = ThisComponent.getSheets().getByIndex(0).getCharts().getByIndex(0).getEmbeddedObject()
oCooSys = oChart.getFirstDiagram().getCoordinateSystems()
付近から始めるみたいだ。

337:336
08/09/20 01:34:53
やっと、作成済みの散布図に新しい XY の系列の追加がうまくいったあぁ

338:デフォルトの名無しさん
08/09/20 10:04:47
>>337 おめ。

さぁ、後からツボった人が参照できるように、
書いたコードをどこかに晒す作業に戻るんだ。

// 公開の縛りとかが無くて、そゆ事が可能なコードならね:)

339:デフォルトの名無しさん
08/09/20 23:00:52
>>338
某所・・・ネットの狭間に書いといたよ

340:デフォルトの名無しさん
08/09/29 15:59:20
3.0 rc3 が出て、正式が 10/7 だと正式は rc3 になるんだろうけど
user/Script/python にいれた python マクロが認識されないままになりそうだ

341:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/10/14 14:04:56
Dim ST_G As Excel.Worksheet
を As Object にすればいいんじゃない

343:341
08/10/14 16:12:36
>342
ありがとうございます!
ところが、別のところ(セルの塗りつぶし)でもエラーが出ました。移植に必要な情報ってどこかに
あるんですか?

344:デフォルトの名無しさん
08/10/14 22:39:14
ちゅうかさ、v.2 の頃に以前 VBA サポートを有効にしたビルドを使ったことあるけど、
あれにあんまり期待しない方がいいと思うぞ。ほとんどが動かなかったし。

345:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/10/15 15:42:53
>>345
こことかどうかな
URLリンク(wiki.services.openoffice.org)

347:デフォルトの名無しさん
08/10/15 15:51:07
>>346
早速の返信ありがとうございます。

そのサイトを参考に進めていたのですが、Interfaceを追加するところから先に進まない状況です。
Logでも吐き出してくれれば調査できるのですが、そういうのも見当たらず・・。

もしかすると、IDEとOOのバージョン組み合わせに問題があるのかもしれません。

ほかにも何か、気になることがあればお願いします。

348:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/11/26 14:12:07
バイナリデータの取得自体はこのへん?
URLリンク(hermione.s41.xrea.com)

サイズの指定は手動でいいなら
Dim buf(10) As Byte ' 0~10の11個
oInputStream.readBytes(buf(), 11)
こんな感じでできるんじゃないの。それをどうstringに変換するかは知らんけど。

ってそういう話じゃないのかな?

350:348
08/11/26 14:29:26
リンク先が参考になりました。
ありがとうございます。

バイト型の配列で読みとれたら、後は文字列への変換ですね。
Shift-JIS→Unicode変換の方法がわかれば、
Chr関数はUnicode値→文字へ変換と組み合わせることで
解決できそうです。

351:デフォルトの名無しさん
08/11/26 14:44:02
こういう基本的なドキュメントってどっかにまとまってるべきだよなあ

352: 
08/11/26 14:50:59
>>351に言い出しっぺの法則が適用されました

353:デフォルトの名無しさん
08/11/26 14:54:39
いや、ドキュメント作るにしたって元ネタがSunの出してる全然不足だらけのドキュメントと
掲示板に散在するTIPS集しかないじゃん。まさかソースからドキュメント起こせとでも?

354:デフォルトの名無しさん
08/11/26 15:11:14
やる気があるならまずは全然不足だらけのドキュメントと掲示板に散在するTIPS集の情報を一箇所にまとめてみれば?

355:デフォルトの名無しさん
08/11/26 15:18:54
やる気があるなんて誰も言ってないけど。俺は自力で探す方法でなんとかしのいでるし。
まあVBAのならともかく、Calc Basic のドキュメントなんて書籍化しても100部くらいしか売れないだろうな。

356:デフォルトの名無しさん
08/11/26 15:22:44
まあそうだろうね
やる気があるとは思っていないからあるならって仮定付きで言ったまでで
しかし書籍化なんて言葉が思い浮かぶだけでもびっくりだ

357:デフォルトの名無しさん
08/11/26 15:26:30
何をそんなにカリカリして食いついてくるのか理解不能だな

358: 
08/11/26 15:30:17
「まとめるべきだよなぁ」なんて言ってるからじゃね?
頭から他力本願な癖に「~すべきだ」なんて強要する態度が気に入らないと思われ。

359:デフォルトの名無しさん
08/11/26 15:33:08
何怒ってんだろう?OOo関係に文句いったらカチンとくるの?

360:デフォルトの名無しさん
08/11/26 15:42:07
いやOOo使ってないし
単にあがってるスレだったのが理由
さがってればスレの存在自体知らなかった
一般的な突っ込みの仕方をしただけなんで
OOoのドキュメント環境の知識はないよ

361:デフォルトの名無しさん
08/11/26 17:13:44
煽ってるつもりなんだろうか?
アホの考える事はわからんの~

362:デフォルトの名無しさん
08/11/26 21:56:25
VBA系はマじゃないからわんさかいるな・・・

363:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/12/11 16:47:11
マクロ編集のエディタが使い辛いのですが、エディタの機能を拡張したり、他のエディタと置き換えたり呼び出したりとか
そういうことはできませんか?

365:デフォルトの名無しさん
08/12/18 22:06:11
VBAで開発して、ある程度できたらOOoにコピペして調整。

366:デフォルトの名無しさん
08/12/24 11:19:22

Basice IDE 上でコピペしただけで、ダウンしてしまいます。。
何なんだろう。この使いがたさは。。

367:さいき
09/01/16 19:16:56
base で何かを作りたいと思って 調べたことを書きました。
URLリンク(yumisaiki.blogspot.com)

でも、普通に今日の日付を標準で表示させるというような簡単なこともmacro書かないといけないみたいですが、
方法がどうしてもわかりません。

368:さいき
09/01/19 02:27:18
自己レスで=す。今日、日付フィールドの属性にあるドロップダウンというのをはいにすると
カレンダーコントロールのような入力画面になることを発見しました。

これはなかなか無料とは思えない便利な機能です!

369:デフォルトの名無しさん
09/01/20 22:46:37
>>368
Basic、Baseについては、URLリンク(oooug.jp) でも多くの情報が得られます。

例えば、URLリンク(oooug.jp) なんてどうでしょう。
Baseでつまづいた時の参考になります。

日付フィールドに関しては、紆余跼蹐があって、初期のころは当日の日付が
入力されていたようです。以下にそんなことがかかれています。

URLリンク(oooug.jp)

以下を見ると、~.odbというBaseのサンプルもたくさん登録されています。

URLリンク(oooug.jp)


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch