問題タブ [tlbinf32]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dll - ActiveX/COM オブジェクトでメソッドを検索するにはどうすればよいですか?
ActiveX/COM DLL があります。多くのメソッドとプロパティが含まれています。次のスニペットのように、特定のシンボルがあるかどうかを尋ねられるようにしたいと思います。
たとえば、VBScript や JScript からこれを行う方法はありますか? そうでない場合、必要な情報はどこで入手できますか?
vba - VBA でオブジェクト ブラウザを反復処理する
オブジェクト ブラウザを使用する場合と同じように、参照ライブラリ内の任意のクラスのメンバーを反復処理したいと考えています。VBAを使用してこれを行うにはどうすればよいですか?
c# - Win32 DLL または OCX から GUID を抽出する方法
COM ライブラリ (DLL および OCX) が含まれている可能性のあるフォルダーを調べる必要がある .NET アプリがあります。
サードパーティのライブラリを使用せずに .NET でこれを行う簡単な方法はありますか?
java - TLB定数をJavaにインポートするには?
groovy の scriptom を使用します。Scriptom のソースには、Office、EI などのすべての定数を含む *.java ファイルが含まれています。それらを tlb/dll/exe ファイルからエクスポートするために使用されたプログラムは何ですか? MSProjectにも同じことが必要です。
vba - VBA: CallByName と InvokeHook
'VBA で、CallByName を使用してクラス プロシージャを呼び出すことの欠点の 1 つは、呼び出されたオブジェクト プロシージャでカスタム エラーが発生した場合、発生した元のエラー番号に関係なく、呼び出し元が常にエラー 440 を受け取ることです。
Microsoft は、この記事http://support.microsoft.com/kb/194418/en-usで回避策を提供しています。
CallByName の代わりに InvokeHookの使用を提案します。したがって、ライブラリ「TypeLib 情報」(TLBINF32.DLL) を参照として追加する必要があります。
私の質問は次のとおりです。このライブラリは、MS Office のみがインストールされている (Visual Studio などはインストールされていない) すべての Windows PC でデフォルトで利用できますか?
回答ありがとうございます
com - タイプ ライブラリから importlib ディレクティブを取得する
特定のネイティブ VB6 生成 DLL/OCX が依存するタイプ ライブラリ (GUID とバージョン) をプログラムで特定するにはどうすればよいでしょうか?
背景: 参照されているタイプ ライブラリの 1 つがその依存関係の 1 つを読み込めないプロジェクトを開くと、VB6 IDE がチョークしますが、どの依存関係が満たされないか、またはどの参照に満たすことができない依存関係。これは私の会社ではよくあることなので、VB6 IDE の貧弱なトラブルシューティング情報を補足しようとしています。
関連する詳細/試行:
- 私はVBのソースコードを持っています。これにより、レポの特定のリビジョンの GUID とバージョンがわかりますが、DLL/OCX/TLB ファイルを分析するとき、レポのバージョンがわかりません (もしあれば、ブランチからのものである可能性があるか、まったくない可能性があります)。特定の DLL/OCX が対応します。
- を使用してみまし
tlbinf32.dll
たが、インポートを一覧表示できないようです。 - PE についてはよくわかりませんが、PE ビューアーで DLL の 1 つを開いたところ
MSVBVM60.dll
、インポート セクションにしか表示されませんでした。これは、VB6 で生成されたタイプ ライブラリの特殊な癖のようです。それらはリンクのみをMSVBVM60
行いますが、残りの依存関係に対して何らかの遅延ロード メカニズムを備えています。 - 私が試した既存のツールのほとんどでさえ、情報を提供しません。たとえば、depends.exe は
MSVBVM60.dll
. - ただし、Visual Studio に同梱されていたユーティリティである OLEView は、
importlib
ディレクティブを含む IDL ファイルを生成します。VB が IDL ファイルを使用しないことを考えると、何らかの方法で情報を生成していることは明らかです。それは可能です - 私には方法がわかりません。
本当に、もし OLEView がそれをしなかったなら、私は今では不可能だと諦めていたでしょう。これを達成する方法について何か考えはありますか?
excel - TLBINF32 からオブジェクトをインスタンス化できません
tlbinf32.dll をダウンロードし、VBA への参照として追加しましたが、次のオブジェクトを作成しようとすると、機能していないようです。
両方で次のエラーが発生します
「ActiveX コンポーネントはオブジェクトを作成できません」
これを修正する方法を知っている人はいますか?