Olen tehnyt macron scriptaus ohjelman ja jos siihen kirjoittaa vaikka
Sub Main() Color = 32749 Do Until Laskuri = 100 Mmouse 302,230,4 RandWait 100,200 LeftClick RandWait 50,100 RndMTC (Color) WaitS 1 Laskuri = Laskuri + 1 Loop End Sub
se tekee tuon 100 kertaa ja olisi hyvä jos voisi lopettaa aikaisemmin, jos haluaa, eli miten ihmeessä saisin stoppi nappulan toimimaan kun tuossa scriptcontrollissa ei ole mitään "Stop" tai "Terminate" komentoa?
Moikka JussiR!
Tässä olis hirvee, mutta toimiva viritelmä...
script.txt:
Sub Main()
Do Until Laskuri = 100
Laskuri = Laskuri + 1
Text1.Text = Laskuri
If terminate Then
terminated = True
Exit Sub
End if
viivytys 1
Loop
End Sub
En viitsi kommentoida koodia sen enempää, joten tutki itseksesi...
'formiin Public sc As New MSScriptControl.ScriptControl Public terminate As Boolean, terminated As Boolean Private Sub Command1_Click() terminate = True End Sub Private Sub Form_Load() terminate = False: terminated = False Open "C:\script.txt" For Input As #1 Do While Not EOF(1) Line Input #1, strLineInput strCode = strCode & strLineInput & vbCrLf Loop Close #1 With sc .Language = "VBScript" .AddObject "UserForm1", Me, True .AllowUI = True .AddCode strCode .Run "Main" End With End Sub Private Sub Form_Unload() terminate = True Do While terminated = False: DoEvents: Loop End Sub Public Function viivytys(viive) As Single viive = Timer() + viive Do While viive > Timer() xev& = DoEvents() If terminate Then Exit Do End If Loop End Function
Oops!
Pikku lisäys siihen scriptiin...
'.............
Loop
terminated = Not terminated
End Sub
Aihe on jo aika vanha, joten et voi enää vastata siihen.