問題タブ [vbide]
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.
c# - MS-Access フォームでコントロールを反復するにはどうすればよいですか?
を指定すると、そこからコレクションにVBComponent
アクセスできるメソッドがあります。.Designer
.Controls
この方法の問題点は、ホストが MS-Access の場合、form.Designer
がnull
であるため、メソッドが早く戻ることです。
ここでのdynamic
キャストは特に有用ではありません。インターフェイスにキャストできるようUserForm
で、少なくとも Excel ホストでは「うまく機能する」ようです。
しかし、MS-Access のフォームにはデザイナ (???) がないため、VBE アドインである C# コード (つまり、何にでも簡単にしかアクセスできない) が与えられた場合、MS-Access フォームでコントロールを反復するにはどうすればよいですか? VBIDE API が利用可能になります)?
excel - VBA エディタ内でのマクロの作成
VBIDE ライブラリを使用して新しいコード/モジュール/フォームを作成するために VBA プロジェクト内で関数を作成する方法を知っていますが、これらの関数を VBA エディターのボタンに関連付けて、カーソル位置にコード スニペットを挿入することは可能ですか?位置?
vba - IDE アドインで VB6 または VBA-IDE 環境関連のリファレンスを作成しますか?
Microsoft "Visual Basic 6.0 Extensibility"への参照を持つVB6_IDE_Add_Inを VB6 で正常に作成しました。ただし、このアドインを VBA IDE (Excel、Access) で使用するには、VB6_IDE_Add_In プロジェクトのコピーを作成し、名前をVBA_IDE_Add_Inに変更し、そのプロパティの名前を変更する必要がありました。アプリケーションの拡張性 5.3" .
最後に、VB6 用と VBA 用の 2 つの dll があります。どちらも"regsvr32"を実行し、 VBA-IDE-Add-Inレジストリ キーを VB6 キー"[HKCU\Software\Microsoft\Visual Basic\6.0\Addins]"から VBA キー[HKCU\Software\Microsoft\ ]に手動で移動する必要があります。 VBA\VBE\6.0\アドイン] ...
条件付きコンパイルまたはコマンド ライン パラメータを使用して、VB6 または VBA 環境に応じて右参照を使用する単一の dll をコンパイルする方法はありますか?
残念ながら、これは私の最初のアドインであり、この件に関しては私の経験では不十分です...
excel - アドインがアクティブ化されたホスト アプリケーションを見つける
IDE アドインは VB6 で作成され、VB6、Excel、Access などを対象として
います。 Application
&AddInInst
パラメータを調べて、初期プロシージャに渡します:
明示的なホスト値が見つかりません。ホストへの参照はどこで取得できますか?
.
vba - Access オブジェクトが保存されたときに発生するイベント?
この質問は、VBIDE によって発生したいくつかのイベントを参照しています。Access オブジェクト (フォーム、クエリ定義、モジュール、クラス モジュールなど) が保存されるたびに発生する、フックできるイベントを探しています。
そのようなイベントが利用できない場合は、回避策を探しています。プロジェクト全体の保存イベントまたはコード モジュールの変更イベントは、許容される代替手段です。おそらく、「msys」システム テーブルの 1 つが更新されたときに、理想的にはどの行が更新されたかを通知する独創的な方法があります。
最悪の場合、CurrentDb.QueryDefs
.LastUpdated
or CurrentProject.AllForms
//プロパティを反復.AllModules
処理し.AllReports
.DateModified
て一定間隔でポーリングできるように見えますが、可能であればそれを避けたいと考えています。
excel - VBA ライブラリ参照をロードして、同じ手順で使用するにはどうすればよいですか?
アクティブなブックに小さな手順を追加する Excel 用の VBA スクリプトがあります。最終バージョンでは、ブックのバックアップ コピーを自動保存する手順が追加されます。
このコードには、手動で追加できる Microsoft Visual Basic for Applications Extensibility 5.3 ライブラリが必要ですが、そのライブラリを Excel に追加して使用できる単一のスクリプトが必要です。
ライブラリ参照を Excel に追加するコードを次に示します。できます。
以下は、このライブラリを使用して VBA プロシージャをアクティブなブックに追加するコードです。これは機能しますが、必要なライブラリ参照が最初に Excel に追加されている場合に限ります。
この 2 つを 1 つの手順で結合しようとすると、問題が発生します。Excel でコンパイル エラー "ユーザー定義型が定義されていません" がスローされます。私の理解が正しければ、私のコードはアーリー バインディングと呼ばれるものを使用しています。Excel は、コードが実行される前にライブラリを探しますが、ライブラリが見つかりません。
答えは、スクリプトの一部が実行されてライブラリが利用可能になるまで、Excel がそのライブラリを検索しないように、遅延バインディングを使用するようにコードを調整することです。
この投稿をガイドとして使用して、コードの一部を次のように変更しました。
Excel が「実行時エラー '429': ActiveX コンポーネントはオブジェクトを作成できません」というエラーをスローしました。
このコードを変更して遅延バインディングを利用する方法、またはライブラリ参照をロードして残りのコードを同じプロシージャ/モジュールで実行する方法はありますか?
vba - VBE の CommandBarEvents.Click と CommandBarButton.Click の違いは何ですか?
VBAおよびVB6アドイン オブジェクト モデル (VBIDE)は、イベントCommandBarEvents
を持つオブジェクトを公開します。イベント シグネチャは次のとおりです。Click
そして、 a への参照CommandBarControl
が渡されVBE.Events.CommandBarEvents
て、そのイベント ハンドラーが登録されCommaneBarControl
ます。
Officeオブジェクト モデルは、独自のClick
イベントを持つ個々の CommandBar コントロールを定義します。たとえば、イベントCommandBarControl
を持つオブジェクトClick
のシグネチャは次のとおりです。
a への参照がオブジェクトCommandBarButton
に割り当てられます。WithEvents
違いがあるのはなぜですか? どちらを優先する必要がありますか?
(ホスト アプリケーション内の CommandBars とは対照的に) VBE の CommandBars のコントロールにイベントをアタッチしています。
CommandBarEvents
Office CommandBars はオブジェクトにアクセスできないため、CommandBarButton.Click
イベントを使用する必要があると思います。ただし、VBE (任意の Office ホストの下) はイベントとイベントにアクセスCommandBarButton
できるCommandBarEvents
ため、どちらのアプローチも使用できCommandBarEvents
ますが、オブジェクトが存在するだけで、それが推奨される方法であることが示唆されます (おそらく Office 以外の VBA ホストでは唯一の方法です)。 、およびイベント ハンドラーを VBE CommandBars に追加するオンラインの例のほとんどは、 を使用しています。CommandBarEvents
MZ Tools の Carlos Quintero は、驚くほど有用な情報を提供していますが、この場合、彼のサイトにはやや矛盾した情報があります。彼は、古い Microsoft Visual Basic 5.0/6.0 環境で CommandBarEvents アプローチが使用されていたことを示唆していますCommandBarControl.Click
が、このページのアプローチも使用しています。
CommandBar
VBE とコントロールへのイベントの関連付けについて何か特別なことはありますか? CommandBarControl
イベントではなくイベントを使用することを選択した場合、問題 (メモリ リーク、IDTExtensibility2 シャットダウンの問題など) はありCommandBarEvents
ますか?