2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【StarSuite Basic/OpenOffice.org Basic】

1 :ハンカチ仮面:2006/10/06(金) 20:04:48
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

他に追加情報があったら教えてください。

2 :nat:2006/10/06(金) 20:10:10
2get


3 :ハンカチ仮面:2006/10/08(日) 19:00:32
リンク付け足し。ここは参考になります。

Developers Guide
http://openoffice-docj.sourceforge.jp/tr/translated/developerguide.html

4 :名無しさん@お腹いっぱい。:2006/10/09(月) 23:49:11
> http://openoffice-docj.sourceforge.jp/tr/translated/developerguide.html

utf-16って、ほとんど嫌がらせだな

5 :デフォルトの名無しさん:2006/10/10(火) 00:03:12
developerguide がwebで読めるのか。これは助かるな。
ZIPアーカイブされたのをローカルに保存しておく手間が省ける。

6 :デフォルトの名無しさん:2006/10/10(火) 19:38:11
初歩的な質問でごめんなさい。

ExcelのVBAでは

Worksheets("シート名").Activate

と書くところを、OOo Basicの場合ではどう書けばいいんでしょうか?

7 :ハンカチ仮面:2006/10/10(火) 20:24:01
>>6
StarBasicでは
ActiveWindow.JumpToTable(1)
だと思います。(1)は左から何番目の表かを表します。

8 :デフォルトの名無しさん:2006/10/17(火) 10:27:59
OpenOffice.org Calcをデータベースサーバーのクライアントソフトに
しようと思うんですが、どなたか一緒に情報探してくれる人いませんか。

9 :デフォルトの名無しさん:2006/10/18(水) 09:31:21
>>8
すでにあるよ。
Fio
ttp://seiza.dip.jp/machine/fio/

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 ***

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

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側に返礼させることができるのでしょうか?

13 :デフォルトの名無しさん:2006/10/19(木) 14:02:49
MinGW環境ないんでBCC5.5で試してみた。
UTF-8Nを要求される状況でShift JISを返すから化けるような気がする。
その割に引数の文字列がDLL側で正しく表示されるのがよく分からんが。
MinGWならDLL側でiconv()とか使ってUTF-8Nエンコして返すのが一番早いんじゃないかね。


14 :デフォルトの名無しさん:2006/10/19(木) 15:36:14
iconv.h拾ってきて試してみたが、やはりOOo側が認識してないような雰囲気が。
少なくともDLLに正しく文字列は渡ってるんだから、結果としてURIエンコードされるなら
iconv()なくても別に問題ない気がしてきた。


15 :なしたか:2006/10/19(木) 20:15:29
>>13,>>14
早速のレスありがとうございます。ご指摘のとおり今回は、URLエンコードをしたいだけ
なので日本語がbasic側で正しく表示される必要はありません。しかし、今後そのような
プログラムが必要になったときにやっぱり困りますよね。。。
ちなみに以下のサイトを参考にUNICODE対応DLLを作成に挑戦していますが、うまくいかないですね。
ttp://www.ruche-home.net/program/tips/tchar.php

16 :なしたか: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;
}

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オブジェクトを取得する方法は
ありますでしょうか?

18 :デフォルトの名無しさん:2006/10/20(金) 16:29:58
for each nextは他のループに置き換える。

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

20 :デフォルトの名無しさん: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のファイルを開いてみたんだけど、なにも起こらないし、
コードも見えない。

22 :デフォルトの名無しさん:2006/12/02(土) 10:21:30
>>21
Debian使いなら自力で使えるようにしていただきたいですな

23 :デフォルトの名無しさん:2006/12/02(土) 10:22:27
捕捉
今の環境ではなく、別の環境で

24 :デフォルトの名無しさん:2006/12/05(火) 01:11:51
>>22 Debianのパッケージをそのまんま入れれば
互換機能が使えるという意味かと思ったんですが。
Debian使いだからかえってアプリを入れたり消したり
するのも全部apt依存症で、なんにもできないんです。

25 :デフォルトの名無しさん:2006/12/05(火) 09:00:34
>>24
なら、EtchのVMware Player用イメージでも使えばよろし

26 :デフォルトの名無しさん:2007/01/10(水) 00:30:32
これの本もほしいな
命令/関数を


全て


網羅したやつ。
使える関数、命令何もかも全てが載ってるやつが。

27 :デフォルトの名無しさん:2007/02/19(月) 23:31:07
GFDLでね

28 :デフォルトの名無しさん:2007/02/22(木) 20:34:34
OOo Basicってそこそこ使えると思うけど、このスレは過疎ってるね。

29 :デフォルトの名無しさん:2007/02/22(木) 23:11:02
宣伝して宣伝して

30 :デフォルトの名無しさん:2007/02/23(金) 12:46:42
取っ付き難いんだよね。なんか面白そうなサンプルないかな。

11 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)