Я пытаюсь запрограммировать модуль 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, чтобы создать некоторый код для метки.
Например, я хочу, чтобы цвет фона метки стал красным, когда кто-то нажимает на нее. Это было очень легко сделать с помощью .InsertLines.
Уродливый способ обойти эту проблему - просто заранее создать группу кода, готовую в фоновом режиме, а затем ограничить количество меток, которые могут создаваться на лету. - Надеюсь, до этого не дойдет.
Я гуглил, и это, кажется, известная проблема с McAfee.
Кто-нибудь знает способ создания динамической пользовательской формы, которая может добавлять код в новые метки или кнопки, добавляемые с помощью метода Contrls.Add?