
No.3ベストアンサー
- 回答日時:
こんばんは
PowerBuilderは知りません。誤解を与えるような表現でした
ご質問をよく理解せず解らないのに回答した為、貴重な時間を浪費させてしまったようですね。。すみません。
大分古い記事で現在とはフォーマット形式も違う時代のもので
APIありがちなbit問題やセキュリティ問題がありダメなのですね。
>当たり前のように出てくる、OLE経由でVBScript.RegExpなのかな
素人の私が述べるような事柄では無いのですが
開発者は出来るだけ新しいものを採用されるのが良いのではと思います。
互換性の問題があるかも知れませんが、先進的であれば、尚更良いのかな。
お付き合いいただきありがとうございます。
PowerBuilder自体、バージョンアップを経ても、正規表現の機能は皆無に近く、結局みんなWindows標準で組み込まれているVBScript.RegExpで実現していることが多いです。
パフォーマンスも込みでそれが嫌で、PbniRegexというVC++経由からのPowerBuilder製のライブラリを作り上げた猛者がいるようですが、PowerBuilder自体がバージョンアップすると、モジュールの互換性がないため、対象バージョンごとにコンパイルしなければならなく、かなり面倒なんですよね。
個人的にも先進的でより良いものを利用したいところですが、選択肢が狭すぎて・・・。
やはり今のところ私が行える範囲として、ひとまずはVBScript.RegExpで済ませようかと思います。
何度もお付き合いいただきありがとうございました。
No.2
- 回答日時:
#1です
PowerBuilderなのですね
VBAも当初は同じで
オフィシャルのリファレンスやDeveloperサイトを探すのが良いと思います。
ちょっと検索して次のような記事を見かけました
参考になるか分かりませんが、他にもあるかもです。
PowerSpace
for PowerBuilder Developer
PB 電子会議室
https://www.powerspace.ne.jp/bbs/view/room:power …
解決されているようなので使えるのでは?と思います
再度のご回答ありがとうございます。
まさかPowerBuilderをご存知とは!
教えていただいたページも見つけて試してみたのですが、正しい結果を得ることができませんでした。
PB7/Win2Kというかなり古い情報なので、今のOSではダメなのかもしれません。
紹介されている中で利用しているWin32APIも、ドキュメントを見ると利用するなと警告文がありまして、もはや使うことはおすすめされていないようで…。
C++/CLIを経由して.NET FrameworkのRegexを利用できるAPIを作ればいいのか?
ということを画策しています。
全然作り方知りませんが…。
上記を作ったとしても、APIだとマッチ結果の様々な情報の取得や、次のマッチ情報の取得、ということができるのか不明です。
扱いが面倒そうなら、やはりPB界隈で正規表現の話になると当たり前のように出てくる、OLE経由でVBScript.RegExpなのかな、という状況です。
No.1
- 回答日時:
こんにちは
鬼車/鬼雲については詳しくありませんが、昔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ではないのですが
なに?使う言語で質問建てた方が良いかと思います
まぁ、取敢えず何の役にも立たないかも知れませんが、、、。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA ドロップダウンリストを残して値のみクリア 2 2022/10/27 05:42
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Visual Basic(VBA) VBAでプロセデュア間で共有できるエリアの設定方法は? 3 2023/04/15 19:06
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Excel(エクセル) エクセルのVBAの標準モジュールの名前が文字化けしてしまうのですが。。 2 2022/11/28 16:34
- カスタマイズ(車) 違法改造車の通報方法について 4 2022/06/30 08:17
- Excel(エクセル) VBAでユークリッド距離を用いて1番近い物を表示 表 裏 縦 横 高さ 縦 横 高さ 名前 1 45 9 2022/10/23 16:52
- Visual Basic(VBA) エクセルVBA コードが同じでもファイルによって処理速度が大きく変わるのはなぜ 5 2022/11/06 21:34
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロVBAについて、コードを教...
-
【マクロ】切取りの場合、形式...
-
VBA ユーザーフォーム ボタンク...
-
改行文字「vbCrLf」とは
-
【ExcelVBA】5万行以上のデー...
-
[VB.net] ボタン(Flat)のEnable...
-
Excel 範囲指定スクショについ...
-
Excelマクロで使うVBAコードを...
-
WindowsのOutlook を VBA から...
-
Excel VBA 定義されたプロージ...
-
VBAでFOR NEXT分を Application...
-
ExcelVBAでパワポを操作したい
-
testファイル内にある複数のpng...
-
算術演算子「¥」の意味について
-
VBAでセルの書式を変えずに文字...
-
vbs ブック共有を解除
-
【ExcelVBA】値を変更しながら...
-
Excelのマクロについて教えてく...
-
VBAの質問(Msgboxについて)です
-
VBAについてです。 どなたかご...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのマクロについて教えてく...
-
現在のブックを閉じないで、マ...
-
算術演算子「¥」の意味について
-
VBAの「To」という語句について
-
以下のプログラムの実行結果は...
-
マクロVBAです。 どなたかコー...
-
VBAでFOR NEXT分を Application...
-
VBAについてです。 どなたかご...
-
質問58753 このコードでうまく...
-
ダブルクリックで貼り付けた画...
-
VBAの質問(Msgboxについて)です
-
エクセルのVBAコードについて教...
-
Excelのマクロについて教えてく...
-
エクセルVBA 段落番号自動取得方法
-
えくせるのVBAコードについて教...
-
ExcelのVBAコードについて教え...
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】モジュール変数の記...
-
Vba FileSystemObject オブジェ...
-
Vba WorkBooks.Openについて教...
おすすめ情報
実際に組み込みたい言語はPowerBuilderです。
コードの言語仕様がVBAに似通っており、カテゴリがないため、VBAとしての実現方法が分かればいけると踏んで、こちらのカテゴリに質問しております。
散々調べた結果、少し貧弱になりますが、BREGEXP.DLLが利用できそうと思い、実装してみましたが、引数値がポインタの関係上、PowerBuilderでは利用することができないことが本日分かりました。
bregonig.dll、鬼車、鬼雲も、ベースにBREGEXP.DLLがあるため、もしかしたら上記と同様の理由でPowerBuilderで利用することができないのかもしれません。
(APIの定義を行っても正しく処理できない)
VBScript.RegExpは利用できることが分かっております。
しかし、こちらも貧弱な場面があるため、強力な正規表現ライブラリが使えないかと考えた次第です。
個人的には万策尽きた感が強いです。
古いバージョンのPCREを利用したPbniRegexというライブラリは見つけましたが、
下記理由に却下しているところです。
・PCREが古い。
・言語バージョンに依存しており、古い言語バージョンまでしか対応していないこと。
・開発が終了している。
・VC++、PCREの知見が無いため、個人的にメンテナンスすることができない。
もう少し質問はオープンのまま、更に何か参考になる情報をいただけないようであれば、
VBScript.RegExpで妥協しようかと思います。