Ich versuche ein Makro zu automatisieren, das eine Excel-Tabelle mit einem anderen einfachen Makro in LaTeX-Quellcode konvertiert. Im Grunde möchte ich das Benutzerformular nicht verwenden, also versuche ich, den Knopfklick der gewünschten Ausgabe aufzurufen, aber ich habe Probleme.Klicken auf eine Schaltfläche in einem Benutzerformular (Aufruf des Klickereignisses)
Es ist das Excel2Latex Makro auf ctan.org
Hier ist die Hauptunter, wie Sie alle sehen können meine kommentierte Teile sind die verschiedenen Dinge, die ich habe versucht, nach der Suche nach Hilfe.
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
Der Code hinter der Schaltfläche ich will, ist ein Privater Sub
Private Sub cmdSave_Click()
SaveConversionResultToFile mModel
Hide
End Sub
Wenn ich versuche, die cmdSave_Click Unter nennen Zeitfehler 91 lief Returns, Variablen oder mit Blockvariablen gesetzt nicht widersprechen. Ich habe versucht, das Sub zu Public zu setzen.
Das meiste Glück, das ich bisher hatte, ist die Aktivierung der Kopie in die Zwischenablage Schaltfläche auf dem Benutzerformular, aber es kopiert nur den Standardtext im Benutzerformular, nicht die LaTeX-Tabelle, die im Fenster generiert wird.
Irgendwelche Vorschläge?
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
ich den Fehler auf der sFileName = pModel.AbsoluteFileName
Linie in Bezug auf MatthewD Frage.
Anstatt einen Versuch zu machen, das Ereignis aufzurufen, legen Sie die Funktionen des Ereignisses in ein öffentliches "Sub" und rufen es dann auf. – cyboashu
Ich habe das auch versucht, ich werde mit dem genauen Fehler zurück melden – zpb21
Hat es etwas damit zu tun, eine modelose Benutzerform zu sein? – zpb21