デザイン時に作成されたフォームの新しいオブジェクトにコードを動的に挿入する Excel モジュールをプログラムしようとしています。
「コード」には、DstrFiles オブジェクトに入れる必要がある実際のコードを含む文字列が含まれているこのコードを使用しています。
Dim DstrFiles As Object
Set DstrFiles = ThisWorkbook.VBProject.VBComponents("DistributeFiles")
With DstrFiles.CodeModule
.InsertLines .CountOfLines + 1, Code
End With
私の問題は、.InsertLines を使用すると、McAfee がモジュールからコード全体を削除することです。これを回避する方法はありますか?
まず、次のラベルを作成します。
Form1.Controls.Add("Forms.Label.1", "Label1", True)
次に、.InsertLines を使用して、Label に対応するコードを作成します。
たとえば、誰かがラベルをクリックすると、ラベルの背景色が赤くなるようにします。これは、「.InsertLines」を使用すると非常に簡単に実現できます。
これを回避する醜い方法は、バックグラウンドで準備ができている一連のコードを事前に作成し、その場で作成されるラベルの量を制限することです。-そうならないことを願っています。
私はググってみましたが、これは McAfee の既知の問題のようです。
Contrls.Add メソッドで追加された新しいラベルまたはボタンにコードを追加できる動的ユーザー フォームを作成する方法を知っている人はいますか?