View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
robw robw is offline
external usenet poster
 
Posts: 5
Default Run time error adding controls to form programatically

Hi,

I've got some VBA that programatically adds additional optionbox controls to
a userform (call this FRM_CHOOSE). The addition is actually driven by
another userform (call this FRM_UPDATE) which up til now only contained
optionbutton and commandbutton controls and everything has been working fine.


I've now added a combobox to FRM_UPDATE however now when the script gets to
the point of adding the new optionbox control to the other form it errors out
with "Run-time error '-2147319767 (80028029)': Invalid forward reference, or
reference to uncompiled type.".

The code I'm using is:

Dim my_form As Object
Set my_form = ThisWorkbook.VBProject.VBComponents("FRM_CHOOSE")
buttonnam = "opt_" & prog_sel
With my_form.codemodule
.insertlines 30, " Elseif FRM_CHOOSE.opt_" & prog_sel & "= true
then"
.insertlines 31, " rangechoice = """ & "all" & prog_sel & """"
.insertlines 32, " linechoice = """ & prog_sel & "lines"""
.insertlines 33, " progchoice = """ & prog_sel & "prog"""
.insertlines 34, " sheetchoice = """ & prog_sel & """"
End With

---***this is now the point at which the code crashes***---

Set my_new_opt = my_form.Designer.Controls.Add("Forms.OPTIONBUTTON. 1")
With my_new_opt
.Caption = prog_sel
.Top = ((my_form.Designer.Controls.Count - 6) * 18) - 12
.Left = 12
.Width = 63
.Name! = buttonnam
End With

This has previoulsy worked perfectly, the ONLY change was to add the
combobox to FRM_UPDATE which is itself unloaded before the code reaches this
point, having passed the "prog_sel" variable to the script. I don't
understand how this additional control could cause a subsequent error of this
nature - any advice?!

Many thanks,

Rob.