为什么在尝试以编程方式命名用户表单时遇到路径/文件访问错误?

时间:2018-08-01 16:31:22

标签: vba excel-vba userform

我正在使用一个用户窗体根据变量输入创建另一个用户窗体。创建用户表单时,我想给它一个名称,该信息与从中创建新表单的信息有关。我知道我不能有两个具有相同名称的表单,但令我感到困惑的是,我不能给一个表单一个先前属于另一个表单的名称,此后已将其删除而不导出。更特别的是,如果我关闭excel并重新打开它,则可以使用所需名称创建用户窗体。

所以基本上我在想的是,在尝试重新创建“已删除”表格之前,需要清除某种临时位置。

注意事项:

  • 我遇到的错误是“路径/文件访问”错误
  • 如果先关闭Excel,然后重新打开,则可以创建用户表单
  • 主要用户表单位于Personal.xlsb文件中,因此创建的新表单也存在,但是我想最终开始将新用户表单写入其自己的常规.xlsm工作簿中(但这不是这个问题)

这是我的代码:

Sub MakeForm()
    'make the vba window invisible, i think this is the actual tryout spec form
    Application.VBE.MainWindow.Visible = False
    'add and set InputForm

    Set InputForm = ThisWorkbook.VBProject.VBComponents.Add(3)
    'set its properties
    With InputForm
        .Properties("Caption") = formTitle
        .Properties("Width") = 390
        .Properties("Height") = 377
        .Properties("Name") = formName
    End With
End Sub

formTitleformName都是公开声明的字符串,它们运行良好,并且在发生运行时错误后程序进入中断模式时具有值(恰好是我想要的值)。 / p>

我希望这是足够的信息,并且我对Stack Overflow还是陌生的,所以我没有权利,我也有点像VBA新手,所以我事先表示歉意。谢谢!

0 个答案:

没有答案