单击用户窗体上的按钮(调用按钮单击事件)

时间:2016-07-15 18:36:30

标签: excel excel-vba macros latex userform vba

我正在尝试使用另一个简单的宏自动化一个将Excel表格转换为LaTeX源代码的宏。基本上我不想使用userform,所以我试着按下我想要的所需输出的按钮,但是我遇到了问题。

这是ctan.org上的Excel2Latex宏

Userform here

Project layout here

这是主要的子,你可以看到我的评论部分是我在寻求帮助后一直在尝试的所有不同的东西。

Sub latex()
With NewController
    Set .View = NewView
    Set .Model = NewDefaultModel
    Set .Storage = NewStorage
    .Run
    Application.Wait Now + TimeValue("00:00:02")
   frmConvert.cmdSave.Object.Value = True

   'UserForm2.CommandButton1.Object.Value = True


    'frmConvert!cmdSave.SetFocus

    'SendKeys "{Enter}"

    'Call frmConvert.cmdCopy_Click
    'Call frmConvert.cmdSv
    'Call frmConvert.cmdCopy_Click
    'Call Memento.SaveConversionResultToFile
    'Application.Wait Now + TimeValue("00:00:03")
    'Application.Run "frmConvert.cmdCopy_Click", txtResult
    'frmConvert.cmdCopy = True
    'frmConvert.cmdCopy = vbClick
    'frm 'Application.Run frmConvert.cmdSave
    'Call frmConvert.cmdCopy_Click
    'frmConvert.cmdSave = vbClick

End With



End Sub

我想要的按钮背后的代码是Private Sub

Private Sub cmdSave_Click()
  SaveConversionResultToFile mModel
  Hide
End Sub

当我尝试调用cmdSave_Click子时,它返回运行时错误91,对象变量或未设置块变量。我也试过将子设置为Public。

我到目前为止运气最多的是激活userform上的copy to clipboard按钮,但它只是复制userform中的默认文本,而不是窗口中生成的LaTeX表。

有什么建议吗?

Public Sub SaveConversionResultToFile(ByVal pModel As IModel)
 Dim sFileName As String
 sFileName = pModel.AbsoluteFileName
 If sFileName = "" Then Exit Sub

 Open sFileName For Output As 1
 Print #1, pModel.GetConversionResult;
 Close #1
End Sub

我在sFileName = pModel.AbsoluteFileName行上收到有关MatthewD问题的错误。

1 个答案:

答案 0 :(得分:0)

只需调用控件事件。

Sub latex()
    With NewController
        Set .View = NewView
        Set .Model = NewDefaultModel
        Set .Storage = NewStorage
        .Run
        Application.Wait Now + TimeValue("00:00:02")

        cmdCopy_Click
        cmdSave_Click

    End With
End Sub