On Thu, 2010-03-11 at 11:34 +0900, Katsuya Kobayashi wrote:
> 皆様、小林です。
> 
> 1・VBAエンジンの改善への期待
> 
> Excel(VBA)のOpenOffice.org標準搭載のVBAエンジンとでは、
> イベントは、シート、キーボード、マウスの3つがサポートされていません。
> 
> DEV300m73では、マウスイベントのサポートやイベントとコントロールの
> 対応付けの仕様改善が進んでおり、最終的なフィーチャーを期待しています。
> 
> Issue103653の改善仕様(案)としては、このように記述されています。
> 1. change the event execution mechanism to support the adding of one
> event to some specific kind of controls
> 2. add the support of VBA click event on ComboBox
> 3. add the support of VBA exit event on TextBox
> 4. add the support of VBA click event on Label
> 5. add the support of VBA mousemove event on all possible controls, when
> the "Shift" key is pressed.
> 
> 2・VBA Interoperability Project について
> 
> プロジェクトページには、詳細はNovellへ問合せてください、とあります。 :)
> VBA Interoperability Project (Noel Power (lead), Andreas Breagas (co-lead) )
> http://wiki.services.openoffice.org/wiki/VBA
> Projectの詳細は、 noel.po...@novell.comへ問合せとのことです。
> 
> この中で、2つ、ご存じの方がいらっしゃれば、教えてください。
> 
> (1)MS-ExcelのBasicコードから非互換マクロだけチェックアウトする方法

この「非互換マクロだけ」という部分がよく分かりません。マクロのみを摘出す
るツールは存在しますが最近ではOOoがちゃんと開いてくれるので、外部ツール
を使う機会はまず減っています。

現在では、まだ対応していないAPIだけをリストするのは自動化していません。
それを自動化するのも実は余り意味がありません。というのも、対応するAPI自
体がOOo側で存在しても、それがExcelと同様に動作するかまではチェックしにく
いからです。中には関数自体は存在するが、中身が空っぽというケースもありま
す。(俗に言うstubと言うものです。)なので、現在のところは個々に報告された
テストケースを元にそれを動作するように改良する、という作業を繰り替えして
います。

>  手作業では、コピペーストしたテキストをgrepすれば、手間でも整理できますが、
> APIとかあればどう使えるのか知りたいです。
>  Wikiには、MS-ExcelのBasicコードの抽出ライブラリは2つ紹介があります。
>      Dumping the VBA from your MS Office documents
>     1)use test-msvba from the libgsf. Download the latest test-msvba.c
>     2)use POLE with GUI. POLE is a portable C++ library to access
> structured storage
>  これを使って、VBAエンジンはMS-ExcelのBasicコードを読んでいるのでしょうか。

いえ、OOoで開いてコードを読んでいます。OOOのBasic IDEでちゃんと読めるの
で。

> 
> (2)VBAエンジンの参考書
>  あまり公開されていないようですし、毎回のリリース毎の変分はリリースノートにも
> 記述がないようです。

これは、ExcelのVBAの参考書という意味合いでしょうか。前にチェックした時は
かなり出回っていたのですが最近では見ませんか?

一番手っ取り早い方法は、Excelでマクロを記録するという手段です。大抵の場
合はそうやってVBA自体のAPIを学習することが出来ます。

>  Wikiには、Helpapiの記載があります。
>           http://wiki.services.openoffice.org/wiki/Helperapi
>  これはNovellが提供した当初のコード?Java版?3年前のコード?
>  何かよい参考情報へのポインタはありますでしょうか。

Wikiのページには

Sun has kindly donated it's compatibility helperapi that was part of the
macro migration toolkit.

と書いてあるので、恐らくHelperAPIは以前Sunが開発していたVBA to OO Basic
migration kit の一部分なんだと思います。最近ではまったく耳にしないし、
Noelも余り話題に出さないので現在でも使われているかどうかは怪しいです。少
なくともNovell側では使ってはないと思います。Sun側ではどうだか分かりませ
ん。

ではこんなところで。

Kohei

-- 
Kohei Yoshida - OpenOffice.org Engineer - Novell, Inc.
<kyosh...@novell.com>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ja.openoffice.org
For additional commands, e-mail: dev-h...@ja.openoffice.org

メールによる返信