プロが教えるわが家の防犯対策術!

VBAで鬼車/鬼雲が使えるならば、その宣言と利用方法が知りたいです。
実際利用したい言語はVBAではないのですが、コード方法がかなり似た言語のため、VBAでの方法が知りたいです。
どなたかご存知の方はおりませんでしょうか?

質問者からの補足コメント

  • 実際に組み込みたい言語はPowerBuilderです。
    コードの言語仕様がVBAに似通っており、カテゴリがないため、VBAとしての実現方法が分かればいけると踏んで、こちらのカテゴリに質問しております。

    散々調べた結果、少し貧弱になりますが、BREGEXP.DLLが利用できそうと思い、実装してみましたが、引数値がポインタの関係上、PowerBuilderでは利用することができないことが本日分かりました。

    bregonig.dll、鬼車、鬼雲も、ベースにBREGEXP.DLLがあるため、もしかしたら上記と同様の理由でPowerBuilderで利用することができないのかもしれません。
    (APIの定義を行っても正しく処理できない)

    VBScript.RegExpは利用できることが分かっております。
    しかし、こちらも貧弱な場面があるため、強力な正規表現ライブラリが使えないかと考えた次第です。

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/05/11 16:27
  • 個人的には万策尽きた感が強いです。
    古いバージョンのPCREを利用したPbniRegexというライブラリは見つけましたが、
    下記理由に却下しているところです。
     ・PCREが古い。
     ・言語バージョンに依存しており、古い言語バージョンまでしか対応していないこと。
     ・開発が終了している。
     ・VC++、PCREの知見が無いため、個人的にメンテナンスすることができない。

    もう少し質問はオープンのまま、更に何か参考になる情報をいただけないようであれば、
    VBScript.RegExpで妥協しようかと思います。

      補足日時:2022/05/11 16:38

A 回答 (3件)

こんばんは


PowerBuilderは知りません。誤解を与えるような表現でした
ご質問をよく理解せず解らないのに回答した為、貴重な時間を浪費させてしまったようですね。。すみません。
大分古い記事で現在とはフォーマット形式も違う時代のもので
APIありがちなbit問題やセキュリティ問題がありダメなのですね。

>当たり前のように出てくる、OLE経由でVBScript.RegExpなのかな

素人の私が述べるような事柄では無いのですが
開発者は出来るだけ新しいものを採用されるのが良いのではと思います。
互換性の問題があるかも知れませんが、先進的であれば、尚更良いのかな。
    • good
    • 0
この回答へのお礼

お付き合いいただきありがとうございます。

PowerBuilder自体、バージョンアップを経ても、正規表現の機能は皆無に近く、結局みんなWindows標準で組み込まれているVBScript.RegExpで実現していることが多いです。

パフォーマンスも込みでそれが嫌で、PbniRegexというVC++経由からのPowerBuilder製のライブラリを作り上げた猛者がいるようですが、PowerBuilder自体がバージョンアップすると、モジュールの互換性がないため、対象バージョンごとにコンパイルしなければならなく、かなり面倒なんですよね。

個人的にも先進的でより良いものを利用したいところですが、選択肢が狭すぎて・・・。
やはり今のところ私が行える範囲として、ひとまずはVBScript.RegExpで済ませようかと思います。

何度もお付き合いいただきありがとうございました。

お礼日時:2022/05/12 10:24

#1です


PowerBuilderなのですね
VBAも当初は同じで
オフィシャルのリファレンスやDeveloperサイトを探すのが良いと思います。
ちょっと検索して次のような記事を見かけました
参考になるか分かりませんが、他にもあるかもです。

PowerSpace
for PowerBuilder Developer
PB 電子会議室
https://www.powerspace.ne.jp/bbs/view/room:power …
解決されているようなので使えるのでは?と思います
    • good
    • 0
この回答へのお礼

再度のご回答ありがとうございます。
まさかPowerBuilderをご存知とは!

教えていただいたページも見つけて試してみたのですが、正しい結果を得ることができませんでした。
PB7/Win2Kというかなり古い情報なので、今のOSではダメなのかもしれません。
紹介されている中で利用しているWin32APIも、ドキュメントを見ると利用するなと警告文がありまして、もはや使うことはおすすめされていないようで…。

C++/CLIを経由して.NET FrameworkのRegexを利用できるAPIを作ればいいのか?
ということを画策しています。
全然作り方知りませんが…。

上記を作ったとしても、APIだとマッチ結果の様々な情報の取得や、次のマッチ情報の取得、ということができるのか不明です。
扱いが面倒そうなら、やはりPB界隈で正規表現の話になると当たり前のように出てくる、OLE経由でVBScript.RegExpなのかな、という状況です。

お礼日時:2022/05/11 22:20

こんにちは


鬼車/鬼雲については詳しくありませんが、昔BASP21で遊んでいた時にああったような記憶があり探してみました。
BREGEXP.DLL?bregonig.dll?で良いのかな? 
DLL自体を直接呼べば良いようですね
http://www.hi-ho.ne.jp/babaq/vbtips.html
「正規表現を使ってみたい」をご覧ください
自作DLLを呼び出す場合も同じ感じだったかと思います

VBAの場合、正規表現と言えばRegExpですかね
Microsoft VBScript Regular Expressions 5.5 参照や
CreateObject("VBScript.RegExp") 'vbscript.dll
で呼び出す事が出来ます

参照設定に登録する場合は.VBProject.References.AddFromFile(\\
や .References.AddFromGuid(GUID などで登録する事も出来たかと・・

>実際利用したい言語はVBAではないのですが
なに?使う言語で質問建てた方が良いかと思います
まぁ、取敢えず何の役にも立たないかも知れませんが、、、。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング