【StarSuite Basic/OpenOffice.org Basic】at TECH
【StarSuite Basic/OpenOffice.org Basic】 - 暇つぶし2ch239:デフォルトの名無しさん
08/06/26 00:12:09
OOo の SDK とってきたら Java UNO のと OOo API 両方入ってる

ここも見とくといいかも
URLリンク(wiki.services.openoffice.org)

240:デフォルトの名無しさん
08/06/26 22:27:43
ToolbarController を実装して Addons で OfficeToolbar に入れたのに初期化されないよ
Standard ツールバーに入れたら初期化されたから、Addons によるツールバーでは
Factory から作成されとらんのか。issue に・・・

241:デフォルトの名無しさん
08/07/04 21:48:20
URLリンク(api.openoffice.org)
ここ見ても英語だし、さっぱり分からん。

242:デフォルトの名無しさん
08/07/09 00:16:06
日本語に翻訳するところから始めるんだ
autodoc は UTF-8 通るんかね?

243:デフォルトの名無しさん
08/07/10 17:54:23
OOo Basicで"VBScript.RegExp"を使うことは出来ないのでしょうか

244:デフォルトの名無しさん
08/07/10 18:52:04
>>243
こうか?
Sub retest
Dim Re As Object
Re = CreateObject("VBScript.RegExp")

Re.Pattern = "A."
Re.Ignorecase = True
Re.Global = True
sResult = Re.Replace("abc", "12")

msgbox sResult
Re = nothing
End Sub

245:デフォルトの名無しさん
08/07/10 19:42:21
>>244
そうなのですが、実行すると"Re.Pattern"の部分で
"BASICランタイムエラー 例外が発生しました Type:Unknown"
というメッセージが表示されて終了してしまうのです
>>211
の人の場合のようにバージョン(ちなみに2.0)が関係するのでしょうか




246:デフォルトの名無しさん
08/07/10 20:30:09
>>245
WinXPSP3で OOo 2.4.1、2.0.4 なら普通に動くが・・・
OS の問題かね?

247:デフォルトの名無しさん
08/07/10 22:26:36
>>246
OSはWin98SE(Ie6SP1)です
あきらめてbregexp.dllを使ってみようかと思いますが
"Declare Function"が使えるのはどのバージョンからでしょうか

248:デフォルトの名無しさん
08/07/10 22:36:14
>>247
1.0 系からでも使えるはず

249:デフォルトの名無しさん
08/07/11 00:38:56
Declare Function ReReplace Lib "bregexp.dll" Alias "Replace" _
(szRegstr As String, szTarget As String) As String

Sub ExampleDeclare
Dim sExp As String
Dim sTarget As String
Dim sStr As String
sTarget = "12"
sExp = "/\d/x/"
sStr = ReReplace(sExp, sTarget)
msgbox sStr
'FreeLibrary("bregexp.dll" )
End Sub

invalid target parameter って表示される・・・。

250:デフォルトの名無しさん
08/07/11 08:36:57
>>248
1.1.5使いの211です
>>249を実行すると
「BASIC ランタイムエラー 実装されていません」
となります
日本語独自ビルドであることは無関係なのでしょうか?
>>223
表計算ソフトが必要なのでエディタで代替出来ません
>>226
gnumericはインストールできませんでした

251:デフォルトの名無しさん
08/07/11 20:04:38
実装されていませんって・・・ダミーってことかね

・・・ com.sun.star.util.TextSearch サービスはカスだしなぁ

252:デフォルトの名無しさん
08/07/11 21:45:45
>>250
dll はフルパスで書かなきゃ駄目とか

253:デフォルトの名無しさん
08/07/11 22:52:06
>>252
早速試してみたところ実装はされたようですが
下記のマクロを実行したところ
「BASICのシンタックスエラー パラメータはプロシージャに合いません」
となります(Excelでは「345」と正常に表示されます)

Declare Function Match Lib "C:\WINDOWS\SYSTEM\bregexp.dll" _
(szRegstr As String, szTarget As String) As String

Sub Test
sTarget = "12.345"
ret = Match("m/(\d{3})/", sTarget)
MsgBox ret
End Sub

254:デフォルトの名無しさん
08/07/11 23:05:33
Sub Test
Dim sTarget As String
Dim sExp As String
sExp = "m/(\d{3})/"
sTarget = "12.345"
ret = Match(sExp, sTarget)
MsgBox ret
End Sub

こうすると、クラッシュするようになったよ・・・。

255:デフォルトの名無しさん
08/07/11 23:18:29
>>254
奇遇だな。俺も今それを試してクラッシュしたところだ。OOo beta 3 だけどな。

256:デフォルトの名無しさん
08/07/11 23:19:40
OOo 3 beta だった

257:デフォルトの名無しさん
08/07/11 23:21:19
>>249 を書いたのも俺だが、sTarget = "12" を "123" にするとクラッシュするんだ

OOo 1.1 からPy-UNOが利用できるから、Python 使うとか・・・
1.1.5 をDLしてくるか

258:デフォルトの名無しさん
08/07/11 23:24:55
ま、あきらめて自分で実装するのが一番早かったりしてな

259:デフォルトの名無しさん
08/07/11 23:34:25
なるほど、Alternative dialog Find & Replace for Writer 拡張機能の正規表現は
Basic で書かれてるんかな?コメがチェコ語?かなんかでパット見よー分からん

それならパクッテこれば・・・1系で動くか分からんが

260:デフォルトの名無しさん
08/07/12 00:03:17
あー、1.1.5 でも Py-UNO で TCP/IP 接続でいけるな
URLリンク(udk.openoffice.org)

261:デフォルトの名無しさん
08/07/12 00:05:59
ここはお前の日記帳か
それになんで TCP/IP が出てくるんだ

262:デフォルトの名無しさん
08/07/12 00:09:56
OOo はTCP/IPで接続できるが?別にpipeでもいいけど

263:デフォルトの名無しさん
08/07/12 04:50:57
通りすがりの者だが読んでるだけで勉強になるスレだと思った

264:デフォルトの名無しさん
08/07/12 09:21:29
243です
私もフルパス指定でやってみましたが"bregexp.dll"以外のdll
(unlha32.dll,urmon.dll,nmail.dll)ではいずれも関数を呼び出した行で
"実装されていません"となります(フルパス指定しない場合と同じ)
なので2.0では"Declare Function"が使えないのだと思っていました


265:デフォルトの名無しさん
08/07/12 11:23:01
kernel32 内のは動く (1.1.5、2.0)
URLリンク(www.oooforum.org)

Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" _
(ByRef lpbuffer As String, nSize As Long) As Long

Public Function ComputerName() As String
Dim sBuffer As String
Dim lSize As Long
Dim sNome As String

sBuffer = Space$(260)
lSize = Len(sBuffer)
Call GetComputerName(sBuffer, lSize)
If lSize > 0 Then
sNome = Left$(sBuffer, lSize)
lSize = InStr(sNome, Chr$(0))
If lSize Then
sNome = Left$(sNome, lSize - 1)
End If
Else
sNome= ""
End If
'ComputerName = sNome
MsgBox sNome
End Function

bregexp のときの Declare 時の引数を ByRef だの ByVal をいじっても特に変わりなし
相性悪いんかね・・・

266:デフォルトの名無しさん
08/07/12 18:14:12
>>265も動きません
OS等OOo以外の環境が原因の可能性が濃厚ですね
そうなると他の方には解決策の探しようがありませんので
"Declare Function"の使用は断念します
お騒がせしました
(com.sun.star.util.TextSearchで2件目以降のマッチングさえ取得できれば・・・)


267:デフォルトの名無しさん
08/07/13 00:34:31
TextSearch はリファレンスにサブパターンが取得できるっぽいことが書かれてるのに
取得できないのが痛いよなぁ

二件目以降は文字列の endOffset 以降を再検索で・・・

268:デフォルトの名無しさん
08/07/22 06:11:06
com.sun.star.i18n.TransliterationでURLエンコード、デコードって出来るんでしょうか?

269:デフォルトの名無しさん
08/07/22 14:46:57
いいえ

270:デフォルトの名無しさん
08/07/22 20:10:42
そうですか、さんくすです。

271:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/08/27 13:29:10
>>271
クリップボードの内容を text/plain;charset=utf-16 だけにしたいってこと?

273:デフォルトの名無しさん
08/08/27 14:40:02
>>272
はい、なぜか文字数が多くなると "If bType Then" 以降の処理の結果
"sData"が空になってしまうので回避したいのです

274:デフォルトの名無しさん
08/08/27 14:45:16
>>273
64k 以上の文字列は扱えない・・・。というのが問題だとおもう
OOo Basic だと文字列は64kまで

275:デフォルトの名無しさん
08/09/05 12:25:27
URLリンク(hermione.s41.xrea.com)

このページに

>* boolean isVisible () 表示状態を返します
>* void setVisible ( [in] boolean Visible ) 表示状態を切り替えます

とあるのですが
oContainerWindow.setVisible(False) は問題ありませんが
bVisible=oContainerWindow.isVisible() はエラーになります

散々調べた結果

URLリンク(api.openoffice.org)

このページで setVisible は XWindow の下位

URLリンク(api.openoffice.org)

isVisible は XWindow2 の下位である事まではわかったのですが、そこから先がわかりません
ご教授賜りたく、よろしくお願いいたします

276:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/09/05 17:44:16
>>276

BASIC ランタイムエラー
プロパティまたはメソッドが見つかりません
です

このスレッドを読むと1 系には実装されていないとかいうことでしょうか
設定は出来て取得できないなんて考えられないソフトです

メディアを演奏しようとすると
オブジェクト変数は設定できていません
とか言われるし

lockControllers() と addActionLock() を両方使っても
セルカーソルが移動するし

シート数40、サイズ9Mほど(Excel97の場合)のファイルを保存するのに5分!もかかるし
(StarCalc形式なら20秒弱ですむが文字が化けるし、Excel形式だと開くときにシート毎に
行の高さの調整とかを頼みもしないのに実行するのでとてもうっとうしい)

非表示で開いたCSVファイルを保存すると空になってしまうし・・・

Excelのマクロを移植するのは断念します

ありがとうございました

さようなら


278:デフォルトの名無しさん
08/09/05 20:58:10
OOo のマクロは利用者が少ないし、ドキュメントも整備されてないから、
開発にかなり忍耐を強いられるのは事実だな。多分不具合も多いと思う。
OOo3 系でも改善される気配がないし。

それに Excel は 2003 までだったらマクロとか動作速度に関しては良くできてるよ。
ただ、Excel 2007 で9M のファイルを開くとエラいことになりそうな気はするけど。

279:デフォルトの名無しさん
08/09/05 21:35:08
>>278
よく使う API には問題ない
Basic も大抵なんともないが、あまり使われてなさそうなランタイム関数を使うとバグであー、ってなる

ドキュメントが整備されるとは思えん・・・DevGuide 読めば分かると思われてるし

280:デフォルトの名無しさん
08/09/05 21:54:41
まぁ、整備されつつあるドキュメントといえば
URLリンク(wiki.services.openoffice.org)
PDF にすると 214 ページ

翻訳されるようだが・・・
よく使われるであろう Calc に関する内容が少なすぎんかね

281:デフォルトの名無しさん
08/09/05 22:11:23
最近見てないけど、全機能の解説には程遠いんだよね、確か
んで、ひたすら Google での検索地獄になる

282:デフォルトの名無しさん
08/09/06 14:48:54
まぁ、ぐぐっても解決策が出てきた例がない

283:デフォルトの名無しさん
08/09/07 11:20:27
>>282
使えねーな、全く
会津若松市さん ご愁傷様

284:デフォルトの名無しさん
08/09/07 11:23:47
まあ英語ページで回答が見つかることもあるよ

彼らは一体どこで調べたんだろうと思うけども

285:デフォルトの名無しさん
08/09/07 12:34:40
本家で、難儀な質問に回答を出してるのは、
ソース触ってる中の人たちじゃまいか?

// ある意味、ソースがドキュメント状態?

286:デフォルトの名無しさん
08/09/07 18:23:15
大抵のことは散乱しているドキュメントなどで見つかるんだよ
ソースを見なきゃならんこともあったが・・・

とはいえ、ユーザーが最初の一歩を踏み出そうとするときにまとまったドキュメントが無いと躊躇すると思う
マクロを書くユーザーの多くは OOo のソースなんて見たくないと思うんだが

287:デフォルトの名無しさん
08/09/08 00:56:22
使えねーな、全く

288:デフォルトの名無しさん
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