StarBasicまたはOOo Basicプログラミングに興味のある方、
もしくは学習中の方、知識共有の場にしましょう。
参考になる主なリンク
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
他に追加情報があったら教えてください。
探検
【StarSuite Basic/OpenOffice.org Basic】
■ このスレッドは過去ログ倉庫に格納されています
2006/10/06(金) 20:04:48
2nat
2006/10/06(金) 20:10:10 2get
2006/10/08(日) 19:00:32
リンク付け足し。ここは参考になります。
Developers Guide
http://openoffice-docj.sourceforge.jp/tr/translated/developerguide.html
Developers Guide
http://openoffice-docj.sourceforge.jp/tr/translated/developerguide.html
2006/10/09(月) 23:49:11
2006/10/10(火) 00:03:12
developerguide がwebで読めるのか。これは助かるな。
ZIPアーカイブされたのをローカルに保存しておく手間が省ける。
ZIPアーカイブされたのをローカルに保存しておく手間が省ける。
2006/10/10(火) 19:38:11
初歩的な質問でごめんなさい。
ExcelのVBAでは
Worksheets("シート名").Activate
と書くところを、OOo Basicの場合ではどう書けばいいんでしょうか?
ExcelのVBAでは
Worksheets("シート名").Activate
と書くところを、OOo Basicの場合ではどう書けばいいんでしょうか?
7ハンカチ仮面
2006/10/10(火) 20:24:012006/10/17(火) 10:27:59
OpenOffice.org Calcをデータベースサーバーのクライアントソフトに
しようと思うんですが、どなたか一緒に情報探してくれる人いませんか。
しようと思うんですが、どなたか一緒に情報探してくれる人いませんか。
2006/10/18(水) 09:31:21
10なしたか
2006/10/19(木) 08:53:11 はじめまして。Basicでの質問をさせていただきます。 現在Calcで使用するためのURLエンコーディングプログラ
ムを作成して おります。勉強もかねてC言語によるDLLを作成・利用しエンコーディング 結果を取得しようと考えています。
そこで、まずはテストということでDLLに文字列を渡し、その結果をbasic で表示するプログラムを作成しようとしております。プログラムは以下
のとおりです。
REM ***** BASIC *****
Declare Function MyMessageBox Lib "test.dll" Alias "MyMessageBox" (str As String)
Sub MessageBoxStrTest()
Dim s1 as String
Dim s2 as String
s1="あ"
s2=MyMessageBox(s1)
msgbox(s2)
End Sub
REM *** BASIC END HEAR ***
ムを作成して おります。勉強もかねてC言語によるDLLを作成・利用しエンコーディング 結果を取得しようと考えています。
そこで、まずはテストということでDLLに文字列を渡し、その結果をbasic で表示するプログラムを作成しようとしております。プログラムは以下
のとおりです。
REM ***** BASIC *****
Declare Function MyMessageBox Lib "test.dll" Alias "MyMessageBox" (str As String)
Sub MessageBoxStrTest()
Dim s1 as String
Dim s2 as String
s1="あ"
s2=MyMessageBox(s1)
msgbox(s2)
End Sub
REM *** BASIC END HEAR ***
11なしたか
2006/10/19(木) 08:54:18 Cプログラムは以下のとおりです。
//-----------------
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include"test.h"
const char* __stdcall MyMessageBox(const char* str){
MessageBox(0,str,"Title",0);
return str;
}
//-------ここまで--------
ちなみにwindowsに最初から提供されているMessageBox()関数ではちゃんと 「あ」という文字が表示されます。
basicに返戻したあとでは文字列が 「-4424」のように表示されてしまいます。開発環境は以下のとおりです。
OS :WindowsXP Professional SP2
開発言語 :gcc(MinGW)
OpenOffice:OpenOffice.org2.0.3
//-----------------
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include"test.h"
const char* __stdcall MyMessageBox(const char* str){
MessageBox(0,str,"Title",0);
return str;
}
//-------ここまで--------
ちなみにwindowsに最初から提供されているMessageBox()関数ではちゃんと 「あ」という文字が表示されます。
basicに返戻したあとでは文字列が 「-4424」のように表示されてしまいます。開発環境は以下のとおりです。
OS :WindowsXP Professional SP2
開発言語 :gcc(MinGW)
OpenOffice:OpenOffice.org2.0.3
12なしたか
2006/10/19(木) 11:57:59 自己レスです。上記の例で1箇所自分で間違いを発見しました。
Declare Function MyMessageBox Lib "test.dll" Alias "MyMessageBox" (str As String) As String
のように返礼値がString型であることを明示したので未知数が返ることが
なくなりました。このとき同様に「あ」という文字をdll側に渡すと「・」という
文字がbasic側のmessageboxで表示されます。「a」という文字をdll側に渡す
と「a」という文字がbasic側で表示されます。
どのようにしたら日本語を正しくbasic側に返礼させることができるのでしょうか?
Declare Function MyMessageBox Lib "test.dll" Alias "MyMessageBox" (str As String) As String
のように返礼値がString型であることを明示したので未知数が返ることが
なくなりました。このとき同様に「あ」という文字をdll側に渡すと「・」という
文字がbasic側のmessageboxで表示されます。「a」という文字をdll側に渡す
と「a」という文字がbasic側で表示されます。
どのようにしたら日本語を正しくbasic側に返礼させることができるのでしょうか?
2006/10/19(木) 14:02:49
MinGW環境ないんでBCC5.5で試してみた。
UTF-8Nを要求される状況でShift JISを返すから化けるような気がする。
その割に引数の文字列がDLL側で正しく表示されるのがよく分からんが。
MinGWならDLL側でiconv()とか使ってUTF-8Nエンコして返すのが一番早いんじゃないかね。
UTF-8Nを要求される状況でShift JISを返すから化けるような気がする。
その割に引数の文字列がDLL側で正しく表示されるのがよく分からんが。
MinGWならDLL側でiconv()とか使ってUTF-8Nエンコして返すのが一番早いんじゃないかね。
2006/10/19(木) 15:36:14
iconv.h拾ってきて試してみたが、やはりOOo側が認識してないような雰囲気が。
少なくともDLLに正しく文字列は渡ってるんだから、結果としてURIエンコードされるなら
iconv()なくても別に問題ない気がしてきた。
少なくともDLLに正しく文字列は渡ってるんだから、結果としてURIエンコードされるなら
iconv()なくても別に問題ない気がしてきた。
15なしたか
2006/10/19(木) 20:15:2916なしたか
2006/10/20(金) 10:45:01 #include "urlEnc.h"
char* urlEncode(const char* str){
int i=0;/** strの何番地をみているかを覚えるため **/
int x=0;/** カウンタ **/
int pos=0;/** tmpUrlが何文字入力しているかを覚えるため **/
char *tmpUrl = (char *)calloc(512,sizeof(char));
unsigned char *tmp = (char *)calloc(2,sizeof(char));
unsigned char *tmp1 = (char *)calloc(2,sizeof(char));
unsigned char *tmp2 = (char *)calloc(6,sizeof(char));
while(TRUE){
if( str[i] == 0x00 ){break;}
if( (str[i] & 10000000) == 10000000 ){
tmp[0]=(unsigned char)str[i];
tmp[1]=(unsigned char)str[i+1];
sprintf(tmp2,"%%%X%%%X",tmp[0],tmp[1]);
for(x=0;x<6;x++){
tmpUrl[pos++] = tmp2[x];
}
i++;
}else{/** 単なるアスキーコードの場合 **/
tmp[0]=(unsigned char)str[i];
sprintf(tmp1,"%X",tmp[0]);
for(x=0;x<2;x++){
tmpUrl[pos++] = tmp1[x];
}
}
i++;
}
return tmpUrl;
}
char* urlEncode(const char* str){
int i=0;/** strの何番地をみているかを覚えるため **/
int x=0;/** カウンタ **/
int pos=0;/** tmpUrlが何文字入力しているかを覚えるため **/
char *tmpUrl = (char *)calloc(512,sizeof(char));
unsigned char *tmp = (char *)calloc(2,sizeof(char));
unsigned char *tmp1 = (char *)calloc(2,sizeof(char));
unsigned char *tmp2 = (char *)calloc(6,sizeof(char));
while(TRUE){
if( str[i] == 0x00 ){break;}
if( (str[i] & 10000000) == 10000000 ){
tmp[0]=(unsigned char)str[i];
tmp[1]=(unsigned char)str[i+1];
sprintf(tmp2,"%%%X%%%X",tmp[0],tmp[1]);
for(x=0;x<6;x++){
tmpUrl[pos++] = tmp2[x];
}
i++;
}else{/** 単なるアスキーコードの場合 **/
tmp[0]=(unsigned char)str[i];
sprintf(tmp1,"%X",tmp[0]);
for(x=0;x<2;x++){
tmpUrl[pos++] = tmp1[x];
}
}
i++;
}
return tmpUrl;
}
17なしたか
2006/10/20(金) 10:52:09 上のコードでいちおうURLエンコードを行えました。汚いプログラムですが使いたい方がいたらどうぞ。
つづけざまに質問なのですが、VBAを使用していたときには現在開いているIEオブジェクトを以下のように捕らえていました。
WinExist = False
Set ObjShell = CreateObject("Shell.Application")
For Each ObjWindow In ObjShell.Windows
If Not InStr(1, ObjWindow.document.Title, "サーバが見つかりません") Then
WinExist = True
Set IE = ObjWindow
End If
Next
Set ObjShell = Nothing
If WinExist = False Then
Set IE = CreateObject("InternetExplorer.Application")
End If
これをそのままbasicで実行してみてもbasicにはFor Each ... in ... という構文がないようで
うまく動作しませんでした。これに変わる方法で現在開いているIEオブジェクトを取得する方法は
ありますでしょうか?
つづけざまに質問なのですが、VBAを使用していたときには現在開いているIEオブジェクトを以下のように捕らえていました。
WinExist = False
Set ObjShell = CreateObject("Shell.Application")
For Each ObjWindow In ObjShell.Windows
If Not InStr(1, ObjWindow.document.Title, "サーバが見つかりません") Then
WinExist = True
Set IE = ObjWindow
End If
Next
Set ObjShell = Nothing
If WinExist = False Then
Set IE = CreateObject("InternetExplorer.Application")
End If
これをそのままbasicで実行してみてもbasicにはFor Each ... in ... という構文がないようで
うまく動作しませんでした。これに変わる方法で現在開いているIEオブジェクトを取得する方法は
ありますでしょうか?
2006/10/20(金) 16:29:58
for each nextは他のループに置き換える。
WSHの配列オブジェクト・コレクションはCountで個数、Itemで要素を取得できる。
こっちはOOoとは関係ないのでWSHスレ等で聞くべきだ。
WSHの配列オブジェクト・コレクションはCountで個数、Itemで要素を取得できる。
こっちはOOoとは関係ないのでWSHスレ等で聞くべきだ。
19デフォルトの名無しさん
2006/11/24(金) 13:36:41 OpenOffice.org CalcがExcel VBAをサポート
ttp://opentechpress.jp/developer/06/11/22/0059225.shtml
ttp://opentechpress.jp/developer/06/11/22/0059225.shtml
2006/11/25(土) 01:23:26
VBA がつかえる OpenOffice.org 2.0.2, Novell Edition には 日本語版もあるみたいよ
21デフォルトの名無しさん
2006/12/02(土) 00:11:53 >>19
>Ark
>Debian
>DroplineGNOME
>Frugalware
>Gentoo
>Mandriva
>QiLinux
>Red Hat (FC6)
>Ubuntu
>SUSEおよびSUSE SLED
これらのLinuxディストリビューションのOpenOffice.orgにVBA互換機能が搭載
されていると書いてあったんで、自分はDebianユーザーだからVBA互換機能が
使えるかなと期待したんだけど、どうやら自分が入れたOOo2.0.2にはVBAの
互換機能が搭載されていないみたいだ。ガクリ
VBAコードを含むExcelのファイルを開いてみたんだけど、なにも起こらないし、
コードも見えない。
>Ark
>Debian
>DroplineGNOME
>Frugalware
>Gentoo
>Mandriva
>QiLinux
>Red Hat (FC6)
>Ubuntu
>SUSEおよびSUSE SLED
これらのLinuxディストリビューションのOpenOffice.orgにVBA互換機能が搭載
されていると書いてあったんで、自分はDebianユーザーだからVBA互換機能が
使えるかなと期待したんだけど、どうやら自分が入れたOOo2.0.2にはVBAの
互換機能が搭載されていないみたいだ。ガクリ
VBAコードを含むExcelのファイルを開いてみたんだけど、なにも起こらないし、
コードも見えない。
2006/12/02(土) 10:21:30
>>21
Debian使いなら自力で使えるようにしていただきたいですな
Debian使いなら自力で使えるようにしていただきたいですな
2006/12/02(土) 10:22:27
捕捉
今の環境ではなく、別の環境で
今の環境ではなく、別の環境で
2006/12/05(火) 01:11:51
>>22 Debianのパッケージをそのまんま入れれば
互換機能が使えるという意味かと思ったんですが。
Debian使いだからかえってアプリを入れたり消したり
するのも全部apt依存症で、なんにもできないんです。
互換機能が使えるという意味かと思ったんですが。
Debian使いだからかえってアプリを入れたり消したり
するのも全部apt依存症で、なんにもできないんです。
2006/12/05(火) 09:00:34
>>24
なら、EtchのVMware Player用イメージでも使えばよろし
なら、EtchのVMware Player用イメージでも使えばよろし
26デフォルトの名無しさん
2007/01/10(水) 00:30:32 これの本もほしいな
命令/関数を
全て
網羅したやつ。
使える関数、命令何もかも全てが載ってるやつが。
命令/関数を
全て
網羅したやつ。
使える関数、命令何もかも全てが載ってるやつが。
2007/02/19(月) 23:31:07
GFDLでね
2007/02/22(木) 20:34:34
OOo Basicってそこそこ使えると思うけど、このスレは過疎ってるね。
2007/02/22(木) 23:11:02
宣伝して宣伝して
2007/02/23(金) 12:46:42
取っ付き難いんだよね。なんか面白そうなサンプルないかな。
2007/03/24(土) 14:24:30
>>27
もっとマトモなライセンスはいくらでもあるだろうに…
もっとマトモなライセンスはいくらでもあるだろうに…
32デフォルトの名無しさん
2007/04/19(木) 22:19:35 OOo Basic やろうぜ。
2007/04/22(日) 13:26:37
>>31
たとえば?CC?
たとえば?CC?
34デフォルトの名無しさん
2007/04/30(月) 21:57:52 今日Basic使ってみたけど、VBAとあんまり変わらんね。
十分使える。
十分使える。
35デフォルトの名無しさん
2007/05/09(水) 20:24:34 なかなかナイスなマクロだと思うけどな。
よって、あげ。
よって、あげ。
36デフォルトの名無しさん
2007/05/21(月) 11:58:04 過疎age
2007/05/21(月) 12:55:52
Basicに限定したようなスレタイになっているのが過疎の原因かな
2007/06/19(火) 22:26:17
vbaで言うところのCollectionに相当するものってあるんでしょうか?
2007/06/23(土) 19:32:22
コードを記述するとき、VBAみたいに勝手に大文字になってくれないのですか?
2007/06/27(水) 01:48:03
2007/06/27(水) 13:47:12
始めたんだが もう挫折した orz
何かいい本ないですか
サンプルが一杯載ったのがあればいいんだが
初心者なんで取り敢えず動くコ-ドをイジって覚えようかと
本屋に昼に行ってみたけどVBばっかりだった。
何かいい本ないですか
サンプルが一杯載ったのがあればいいんだが
初心者なんで取り敢えず動くコ-ドをイジって覚えようかと
本屋に昼に行ってみたけどVBばっかりだった。
2007/06/27(水) 14:13:01
逆に考えるだ。今いろんなものを作って企画を持ち込めば、本を出せると考えるんだ。
43デフォルトの名無しさん
2007/06/27(水) 18:57:354441
2007/06/27(水) 19:24:09 OpenOffice.org 1.1 Developer's Guide
StarOfficeTM 6.0 Office Suite Basic Programmer's Guide
OpenOffice.org Basicプログラミング Calc
StarSuiteTM 7 Office Suite Basic プログラマ向けガイド
この辺りのやつでいいのかなあ
とりあえず読んで見ます。
廻りに聞く人居ないので、初心者はつまると、お手上げです。
StarOfficeTM 6.0 Office Suite Basic Programmer's Guide
OpenOffice.org Basicプログラミング Calc
StarSuiteTM 7 Office Suite Basic プログラマ向けガイド
この辺りのやつでいいのかなあ
とりあえず読んで見ます。
廻りに聞く人居ないので、初心者はつまると、お手上げです。
2007/06/27(水) 19:58:13
2007/06/27(水) 20:39:59
ありがとう
2007/06/28(木) 09:17:29
>>46
日本語の掲示板なら
OOo Basic Wiki
http://hermione.s41.xrea.com/pukiwiki/
OOo Q&A
http://oooug.jp/faq/
ここにもいくつかサンプルあり
海外の良書は以下から
http://www.pitonyak.org/oo.php
日本語の掲示板なら
OOo Basic Wiki
http://hermione.s41.xrea.com/pukiwiki/
OOo Q&A
http://oooug.jp/faq/
ここにもいくつかサンプルあり
海外の良書は以下から
http://www.pitonyak.org/oo.php
2007/06/30(土) 13:45:08
>>6
Sub Hyou3Active
Dim oDocument As Object
Dim oSheet As Object
Dim oCController As Object
oDocument = ThisComponent
oSheet = oDocument.Sheets
oCController = oDocument.CurrentController
oCController.ActiveSheet = oSheet.getByName("表3")
End Sub
Sub Hyou3Active
Dim oDocument As Object
Dim oSheet As Object
Dim oCController As Object
oDocument = ThisComponent
oSheet = oDocument.Sheets
oCController = oDocument.CurrentController
oCController.ActiveSheet = oSheet.getByName("表3")
End Sub
49デフォルトの名無しさん
2007/07/18(水) 20:49:01 ttp://docs.sun.com/app/docs/doc/819-1332?l=ja&a=load
ttp://docs.sun.com/app/docs/doc/819-1324?l=ja&a=load
starsuiteのが使えるね
ttp://docs.sun.com/app/docs/doc/819-1324?l=ja&a=load
starsuiteのが使えるね
50デフォルトの名無しさん
2007/07/19(木) 19:08:48 ググっててOOoBasicで書かれたらしいOOoBasicのデバッカを見つけた。
2.0のほうにはjaとあるから日本語対応?
ttp://www.nichoume.com/ooo/dev/OOoBasicDebugger/2.0/
ttp://www.nichoume.com/ooo/dev/OOoBasicDebugger/2.3/
注)信用できるサイトか分からないんでダウンロードには注意してね。
2.0のほうにはjaとあるから日本語対応?
ttp://www.nichoume.com/ooo/dev/OOoBasicDebugger/2.0/
ttp://www.nichoume.com/ooo/dev/OOoBasicDebugger/2.3/
注)信用できるサイトか分からないんでダウンロードには注意してね。
2007/07/20(金) 07:50:33
52デフォルトの名無しさん
2007/07/20(金) 08:08:15 チューバッカ
厨房ばかりであるさま。
厨房ばかりであるさま。
53デフォルトの名無しさん
2007/07/22(日) 21:40:53 http://www.ooomacros.org
ここって有名サイトらしいのですが、ここではまだ紹介されていないみたいですね。
http://www.ooomacros.org/user.php にあるCalc Macro Recorderというマクロが
便利そうで興味があるんですが、ちょっと恐くてダウンロードできない。orz
ここって有名サイトらしいのですが、ここではまだ紹介されていないみたいですね。
http://www.ooomacros.org/user.php にあるCalc Macro Recorderというマクロが
便利そうで興味があるんですが、ちょっと恐くてダウンロードできない。orz
54デフォルトの名無しさん
2007/09/17(月) 09:36:10 VB.NETでCalcのファイルを開き、データを取得することができますか?
55デフォルトの名無しさん
2007/10/05(金) 23:30:0456デフォルトの名無しさん
2007/10/08(月) 23:15:15 誰もいねえのか?
57デフォルトの名無しさん
2007/10/09(火) 19:16:17 過疎っているねアゲ
58デフォルトの名無しさん
2007/10/09(火) 21:23:22 getcellbypotionとか長ったらしいコマンドは止めてくれー!!
普通にCellでいいじゃんか。
普通にCellでいいじゃんか。
59デフォルトの名無しさん
2007/10/10(水) 20:11:36 確かにそうだよな
2007/10/12(金) 10:43:13
>>58
飲料(potion)を使って細胞(cell)を取得(get)するのか?
飲料(potion)を使って細胞(cell)を取得(get)するのか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【日本人の旅行離れ】国内旅行すら行けなくなった……オーバーツーリズムだけじゃない 旅行者減少の異常事態 [ぐれ★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★12 [蚤の市★]
- “ひとり焼肉”でおなじみ「焼肉ライク」が閉店ラッシュ。なぜ「コスパが悪い」と言われてしまうのか [Gecko★]
- 中国の渡航自粛要請1カ月 大阪の観光バス予約ゼロ、東北にも波及 [蚤の市★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 [蚤の市★]
- 【神戸】エレベーター「かご」なく男性医師が転落死 大手「三菱電機ビルソリューションズ」の担当者、安全装置切り放置か [ぐれ★]
- アップル、メモリ長期契約が打ち切られたため年明けから大幅な値上げになる模様。iPhone17今すぐ買い占めろ [709039863]
- 高市、メガソーラー廃止。環境破壊が社会問題化 [792147417]
- 女だが
- 🏡おい!返事しろ︎︎!知的障害者!
- ワイの趣味が"資格試験に申し込んで結局行かない"なんやがどんなイメージ?
- 農水省が立ち上げた「農業版価格ドットコム」失敗。サービス完全終了、運営会社2021年から債務超過・解散 [256556981]
