ほっとひといき給湯室

ほっとひといき給湯室の掲示板です。お気軽にどうぞ!
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
VB6互換プログラミング言語の紹介
投稿日時: 23/03/29 08:27:21
投稿者: kumatti
投稿者のウェブサイトに移動

https://twinbasic.com/
基本的にはサブスクリプションへの案内とする為の体験版(評価版)としての位置付けであり、
正式版はなく、β版をダウンロードする様になっています。なので、イマイチ流行らないのでしょう。
また、コンパイル時に最適化はされず、かつ、ライブラリ依存がないので、ファイルサイズは肥大します(C言語で言う/MDスイッチ)。
64ビット時はスプラッシュウィンドウが強制的に表示されます。
 
コモンコントロールで何故か、リストビューだけ(特に需要でもあったのか)64ビット版が用意されていますが、現物にお目に掛かった事はありません。
 
VB6の64ビット版ランタイムはなく、それに依存した作りにも出来きなかったのでしょう。DLL関数(GetMem4とか)を呼び出すまではいいとして、勝手に使うとライセンス的に拙いのかも知れません。
中身はVBでは全然無く、構文がVB6ライクで書けるとその点だけが特筆すべき事なので、
IDEの起動がVB6より遥かに遅いとか、UIがいまいち洗練されてないとか、その辺には目を瞑るほか、ありません。
 
Chrome互換のWebView2が標準で使えますが、この辺も他言語(C#とか)と足並みを揃えた感じでVB6ライクで書けると言う恩恵が受けられます。
 
先頃、ヤフオクでVisual Studio6が出品され、1円スタートで1万円台後半で落札(この水準でも全然安い)と依然、人気を誇っています。
古参のVBForumsを覗くと標準モジュールのCOM化、マルチスレッド(VB6用なので32Bitのみ)ライブラリ、WebView2、Direct2D等、最近のCOMに対応が図られています。
https://www.vbforums.com/forumdisplay.php?1-Visual-Basic-6-and-Earlier

投稿日時: 23/03/31 12:27:00
投稿者: kumatti
投稿者のウェブサイトに移動

VBA互換も謳ってますが、JsonConverter(Mac版VBAも対応してる有名所)で、組み込み定数もライブラリ名を明示してる兼ね合いで
そこでエラーを吐くので、VBA関数も纏めて置き換えています。直すべき箇所はそこだけで動作します。
ただ、xlsmファイルがインポート出来るわけでないので各モジュールを「一旦、エクスポートしてインポートする」手順が発生します。
単独のexeに出来るので使い勝手(単に起動が早いだけ)が向上します。
https://www.codeproject.com/Tips/5307593/Automate-Chrome-Edge-using-VBA

回答
投稿日時: 23/07/21 12:40:24
投稿者: simple

情報提供ありがとうございました。
興味をお持ちのみなさんの参考になることを願っています。
 
ダウンロードしようとしたところ、
WebView2 runtime:
のリンクが切れているようで、うまくいきませんでした。残念です。
わたしにはちょっと敷居が高かったかもしれません。

投稿日時: 23/07/22 12:58:06
投稿者: kumatti
投稿者のウェブサイトに移動

適当なVisual StudioのNuGet パッケージから、WebView2を選んで導入するだけです。
その中のwebview2.tlbをVBAから参照設定して、ローダーのAPIの宣言(一つだけ)を書くだけです。
最近のCOMは、デュアルインタフェースではないので、WithEventsでハンドルする様なイベントはありません。
ただ、SeleniumのExecuteScriptの様なスクリプト呼び出しは関数名を決め打ち出来るわけもなく、
そこだけ、IDispatch(VBAで言うObject型)を実装する必要に迫られます。
 
C++erの要望に応える形で登場したtlbですが、中の人的に
「IEが終了した今となってはActiveXコントロールの必要性は承知してるが手を付ける気もない」
な感じなので、このActiveXコントロールが裏でやってる事を"全部自前でやる"わけで、
それなりに汗を掻くことになろうか、と思います。
とは言い条、先のVBForumsにサンプルをアップしてた人が居たのでグーグル検索すれば見付かるか、と思います。

回答
投稿日時: 23/07/24 12:44:00
投稿者: simple

コメントありがとうございました。
取り急ぎ御礼まで。

投稿日時: 23/12/01 13:11:07
投稿者: kumatti
投稿者のウェブサイトに移動


>ただ、SeleniumのExecuteScriptの様なスクリプト呼び出しは関数名を決め打ち出来るわけもなく、
これは勘違いでした。失礼。
https://learn.microsoft.com/ja-jp/microsoft-edge/webview2/how-to/hostobject
 
まだ買い切り版には反映されていませんが「Edge Browser Control」が提供されました。
https://support.microsoft.com/ja-jp/office/%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%A7-edge-%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%83%BC-%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B-f9f731be-8f9b-4dd2-a5cb-525cfaed52d5

投稿日時: 23/12/01 13:22:00
投稿者: kumatti
投稿者のウェブサイトに移動

https://www.moug.net/faq/viewtopic.php?t=82550
いつ頃からか、まともにリンクが貼られる事がなくなったので、Edgeの場合ですが、
msedgedriver.exeは、URIの中のバージョンを直接書き換えて(要は直リン)、取りに行ってます。
本家本元のGoogleがその辺を疎かにしているとも思えないのですが...。

トピックに返信