問題タブ [userform]
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.
class - VBA UserForm オブジェクト
私はここで何かに本当に苦労しています。私はクラス モジュールを持っています。それを FormMan と呼びましょう。これには、プロジェクトにある多数のユーザー フォームに関連するメソッドがたくさんあります。特定のメソッドの 1 つは、さまざまな場所から呼び出されるもので、非常に単純です。ユーザー定義の数のコントロールをフォームに追加し、これらの新しいコントロールに対応するようにフォームの高さを拡張するだけです。
ユーザーはコントロールの数とユーザーフォームを渡します。
FormMan クラス モジュール内:
[ローカル] ウィンドウでは、oForm に高さのプロパティがないため、問題ありません。ただし、oForm は frmTest として定義されています。私は言うことができますoForm.BackColor = vbred
、そして私はctl = oform.TextBox1
例えば設定することができます
これは、フォームに多数のコントロールを追加できる一般的な手順であることを意図しています。oForm に割り当てる前に、フォームを読み込んで表示しようとしました。
ユーザーフォームの高さと表示のプロパティとメソッドがユーザーフォームとして宣言されているのに、オブジェクトのメソッドが宣言されていないのはなぜですか? 私は何を間違っていますか?
どんな助けにも本当に感謝します。
vba - VBA を使用して Excel ユーザーフォームのフレームにコントロールを追加する
ラベルとボタンを動的に作成し、ユーザーフォーム内のフレームに追加する必要があります。どうすればいいですか?実際よりも簡単なはずです。
excel - Excel ユーザーフォームの動的に作成されたボタンにオンクリック VBA 関数を割り当てる
次のコードを使用して、Excel ユーザーフォームにボタンを動的に作成しています。
これらのボタンがクリックされたときに実行する関数を割り当てたいのですが、ボタン自体の一部としてプロパティがないため、これを行う簡単な方法が見つかりません。
上記のイディオムを使用してこれを行う方法はありますか? この全体を別の方法で行う必要がありますか?
vba - Outlookのユーザーフォームが応答しない(閉じることができない、ボタンクリックイベントが発生しない)
Outlook VBAマクロで単純なユーザーフォームを作成しました-次のコードを使用してフォームを表示できます:
...そしてUserForm_Initialize()
イベントは実際に発火します。ただし、フォームの[送信]ボタンをクリックしても何も起こりません。SubmitButton_Click()
イベント(デザイナーのボタンをダブルクリックして自動作成されたもの)は発生しません。また、ユーザーフォームのウィンドウの右上隅に通常の小さな赤いXが表示されますが、これをクリックしても何も起こりません(フォームが閉じたり終了したりすることはありません)。
私が間違っているかもしれない何か考えはありますか?私はVBAにまったく慣れていません。
vba - vbaユーザーフォームのキャリッジリターンの動作
VBAのユーザーフォームのテキストボックスで、キーボードの「Enter」キーを押すことでテキストボックスに改行できる機能を有効にしたいと考えています。しかし、UI エディターでこれを実現するための UI オプションを見つけるのに苦労しました。これは VBA ユーザーフォームでも許可されていますか? アドバイスと回答をお寄せいただきありがとうございます。
excel - Excelvba用に作成されたフォームのボタンにホットキーを割り当てる
ボタンとテキストフィールドを含むフォームをポップアップするExcel用のマクロを作成しました。「ctrl+Enter」や「F12」などのホットキーをボタンに割り当てる方法はありますか?ホットキーは、フォーカスが置かれているフィールドまたはボタンに関係なく機能するはずです。
(これまで、vbKeyF12のMSForms.ReturnIntegerをチェックするためにbuttons / fields_Keydownsを作成することができましたが、すべてのフィールドとボタンに対してそれを行う必要があります。もっと簡単な方法はありますか?)
たとえば、フォームにはボタン「CommandButton1」とテキストフィールド「TextBox1」の2つがあります。
ボタンのコード:
ホットキーは、フィールドやボタンを追加するときに便利です...
また、フォームを閉じる/非表示にするために[エスケープ]ボタンを設定するにはどうすればよいですか?
vba - Excel VBAのユーザーフォームのタイマー
一定の間隔でタスクを実行したい古い Excel VBA コードがあります。VB6 を使用していた場合は、タイマー コントロールを使用していたでしょう。
Application.OnTime()メソッドを見つけました。Excel ワークシートで実行されているコードではうまく機能しますが、ユーザー フォームでは機能しません。メソッドが呼び出されることはありません。
Application.OnTime() でユーザー フォームのメソッドを呼び出すにはどうすればよいですか、または VBA でコードを実行するようにスケジュールする他の方法はありますか?
excel - VBAユーザーフォーム配列
現在、いくつかのデータと、そのデータのサブセットを表示するユーザーフォームを作成するコマンドボタンを含むExcelスプレッドシートがあります。ユーザーフォームは、データを表示しやすくするように設計されています。私が抱えている問題は、コマンドボタンでユーザーフォームの複数のインスタンスを作成して、各フォームに異なるデータセットを表示できるようにすることです。
私はVBAにかなり慣れていないので、提案や開始する場所をいただければ幸いです。ありがとう。
vba - ユーザー フォームをモーダル ストップ コード実行として表示するのはなぜですか?
次の VBA コードは で停止しMe.Show
ます。私のテストから、Me.Show
コードが UserForm 内にある場合でも、すべてのコード実行が停止するようです。
この部分は UserForm の外側にあります:
この部分は UserForm の中にあります:
Me.Show
UserForm が表示された後、コードは で停止します。エラーはありません。コードの実行を中止するだけです。VBA でモーダル UserForm 内のコードを実行する唯一の方法は、次のように UserForm_Activate プロシージャにコードを含めることです。
この部分は UserForm の外側にあります:
この部分は UserForm の中にあります:
もちろん、Me.Show
UserForm_Activate の中に入れることはできません。なぜなら、そのプロシージャは UserForm Show イベントの後にしか起動しないからです。
のドキュメントにUserForm.ShowModal
は、「ユーザーフォームがモーダルの場合、ユーザーはアプリケーションの他の部分を使用する前に、情報を提供するかユーザーフォームを閉じる必要があります。ユーザーフォームが非表示になるかアンロードされるまで、後続のコードは実行されません。」
プロセスの実行中にユーザーがアプリケーションと対話するのを防ぐために、進行状況バーとしてモーダル UseForm を使用しようとしています。しかし、すべてのコードが UserForm_Activate プロシージャ内にある必要がある場合、これを達成するのは困難です。
ここで何か不足していますか?すべてのコード実行が で停止するのはなぜMe.Show
ですか?