我試圖自動化將Excel表格轉換爲LaTeX源代碼與另一個簡單的宏的宏。基本上我不想使用用戶窗體,所以我試圖調用所需輸出的按鈕點擊,但我遇到了問題。單擊用戶窗體上的按鈕(調用按鈕單擊事件)
這是ctan.org
這裏Excel2Latex宏主要子,你可以看到我的評論部分都是不同的東西我一直在努力尋找幫助後。
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 cmdSave_Click()
SaveConversionResultToFile mModel
Hide
End Sub
當我嘗試調用它返回運行時錯誤91 cmdSave_Click子,對象沒有設置變量或與塊變量。我已經嘗試將該子設置爲Public。
迄今爲止我運氣最好的是激活複製到用戶窗體上的剪貼板按鈕,但它只複製用戶窗體中的默認文本,而不是在窗口中生成的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的問題。
而不是嘗試調用事件爲什麼不把事件的功能放在公共'Sub'中,然後調用它。 – cyboashu
我也試過這個,我會報告確切的錯誤 – zpb21
它是否與它是一個無模式的用戶表單有關? – zpb21