kyrons Ответов: 1

Как поместить код VBA внутри командной кнопки листа excel с помощью VB.NET-что?


Вот мой код при создании командной кнопки в sheet1 и добавлении кода в модуль:

Dim xlMod As Microsoft.Vbe.Interop.VBComponent

Dim objBtn As Object
       Dim celLeft As Integer
       Dim celTop As Integer
       Dim celWidth As Integer
       Dim celHeight As Integer


       celLeft = xlWorkSheet1.Range("d5").Left
       celTop = xlWorkSheet1.Range("d5").Top
       celWidth = xlWorkSheet1.Range("d5").Width
       celHeight = xlWorkSheet1.Range("d5").Height



       objBtn = xlWorkSheet1.OLEObjects.Add(ClassType:="Forms.Commandbutton.1", link:=False, _
           displayasicon:=False, Left:=celLeft, Top:=celTop, Width:=celWidth, Height:=celHeight)

       xlWorkSheet1.commandbutton1.caption = "Generate Sheet 2"
              xlWorkSheet1.commandbutton1.Height = 33
               xlWorkSheet1.commandbutton1.Width = 125
       xlWorkSheet1.commandbutton1.font.size = "12"

xlMod = xlWorkBook.VBProject.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule)
      
       Dim codeString As New StringBuilder
       codeString.AppendLine("Public Sub SaySomething()")
       codeString.AppendLine("MsgBox ""Hello""")
       codeString.AppendLine("End Sub")
      
       xlMod.CodeModule.AddFromString(codeString.ToString)


Все, что я хочу, это поместить код vba внутрь события sheet1 commandbutton1_click, а не в другой модуль.

Пожалуйста, помогите мне.

Что я уже пробовал:

xlMod = xlWorkBook.VBProject.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule)
      
       Dim codeString As New StringBuilder
       codeString.AppendLine("Public Sub SaySomething()")
       codeString.AppendLine("MsgBox ""Hello""")
       codeString.AppendLine("End Sub")
      
       xlMod.CodeModule.AddFromString(codeString.ToString)

1 Ответов

Рейтинг:
0

Patrice T

Цитата:
Как поместить код VBA внутри командной кнопки листа excel с помощью VB.NET-что?

"&ЛТ;код VBA="" внутри="" команда=" кнопка""="" никак="" не="" существует.="" а="" кнопку="" может="" только="" называют="" процедурой="" по="" его="" название.
<pre="" lang="vb">
xlWorkSheet1.commandbutton1.caption = "создать лист 2"
xlWorkSheet1.commandbutton1 является.Высота = 33
xlWorkSheet1.commandbutton1 является.Ширина = 125
xlWorkSheet1.commandbutton1.font.size = "12"

Вы уже устанавливаете некоторые свойства commandbutton1, связывание некоторого кода с событием кнопки-это просто установка другого свойства, почему это так сложно?