はじめまして。
私は主にExcel VBAで開発を行なっているのですが、実行コード形式でアプリを
提供したり、グラフィックを利用したい場面が多く、困っておりました。
activebasic はこのような用途に最適と思ったのですが、言語仕様の一部に
若干の差があるようです。ざっとヘルプファイルに目を通した限りでは、下記に
気づきました。
(1)call 文がない
VBAにも省略した書き方がありますが、呼び出しのフォーマットが異なります。
(2)変数は値渡しがデフォルト
これはVBA側にByRef宣言があるので、VBA側で対応可能ですが。
上記以外に、何か大きな差異はありますでしょうか?
関連スレッドがありましたら、ご紹介頂けると助かります。
移植作業を本格的に始める前に、大雑把に手数を見積もっておきたいと考えて
おります。当分はVBAと並行利用となるため、できれば自作ライブラリを共用したい
という色気もあるのですが・・・
VBAとの互換性
推測ですが…
やまちゃんさんがどういったソースプログラムを書こうとしているかが
把握できていないので断言はできませんが
> 1)call 文がない
> VBAにも省略した書き方がありますが、呼び出しのフォーマットが異なります。
おそらく、call文に関しては特に問題ないと思います。
VBでは、
Call hogehoge
Sub hogehoge()
処理A
処理B
処理C
End Sub
となりますが、ABでは
hogehoge()
Sub hogehoge()
処理A
処理B
処理C
End Sub
と書けば問題ないと思いますので。
Functionも同様ですよ。
それより、AB側からExcel等を制御するほうが若干面倒かもしれません。
過去にWScriptの正規表現を利用するサンプル等もあったと思いますので
もしかしたら、参考になるかも!
> (2)変数は値渡しがデフォルト
> これはVBA側にByRef宣言があるので、VBA側で対応可能ですが。
たしか、VBとABでは ByRefとByValのデフォルトが逆だったと記憶しています。
ですが明示的に宣言してやれば、特に問題ないと思います。
要はデフォルトが逆だということを覚えておけば良いと思いますよ。
#みなさま、どこか間違ってましたら訂正してやってください。
ではでは。
把握できていないので断言はできませんが
> 1)call 文がない
> VBAにも省略した書き方がありますが、呼び出しのフォーマットが異なります。
おそらく、call文に関しては特に問題ないと思います。
VBでは、
Call hogehoge
Sub hogehoge()
処理A
処理B
処理C
End Sub
となりますが、ABでは
hogehoge()
Sub hogehoge()
処理A
処理B
処理C
End Sub
と書けば問題ないと思いますので。
Functionも同様ですよ。
それより、AB側からExcel等を制御するほうが若干面倒かもしれません。
過去にWScriptの正規表現を利用するサンプル等もあったと思いますので
もしかしたら、参考になるかも!
> (2)変数は値渡しがデフォルト
> これはVBA側にByRef宣言があるので、VBA側で対応可能ですが。
たしか、VBとABでは ByRefとByValのデフォルトが逆だったと記憶しています。
ですが明示的に宣言してやれば、特に問題ないと思います。
要はデフォルトが逆だということを覚えておけば良いと思いますよ。
#みなさま、どこか間違ってましたら訂正してやってください。
ではでは。