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
取っ付き難いんだよね。なんか面白そうなサンプルないかな。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】Jリーグ観客動員が歴代最多を更新 初の「1300万人超え」達成…平均入場者数も史上最高に [尺アジ★]
- サナエノミクスについて力説 積極的な財政出動で「所得増える 消費マインド上がる 税収増える」片山さつき財務大臣 ★3 [少考さん★]
- 日中対立「着地点」見えず 中国、他国にも圧力の過去―関係悪化から1カ月 [蚤の市★]
- 日本の英語力96位から動かず AI評価で可視化された「読めるが話せない」の正体 (EF EPI 2025) ★2 [少考さん★]
- 【芸能】粗品、日本テレビに苦言 客のレベルが「かなり低い。あいつら分かってない」「拍手したいだけやねん」 [冬月記者★]
- 鈴木農相「おこめ券はお米しか買えないわけではない。例えば卵、味噌、しょうゆ、こうした購入に利用可能」 ★4 [Hitzeschleier★]
- 日本人騎手、香港カップで罰金10万香港ドル [462275543]
- 【朗報】イーロン・マスク「AIとロボットで誰も働かなくて良くなる。全員ニートで金銭も税金もないパラダイスみてぇな国を作りてえ」 [347751896]
- うまトマ食って「うまトマ〜」って言って滑ったんだが!?
- 仕事やめたいけど
- なんでネトウヨが勃起してるの? [377482965]
- 今これで全力シコってる
