Jonas Skrevet 3. januar 2004 Del Skrevet 3. januar 2004 Hallo Går det ann på en måte å skrive inn en kommando i en tekst boks og trykke på en knapp så kjører den den kommandoen? Private Sub Command1_Click() dim tekst tekst = text1.text tekst End Sub Noen sånn som det, bare at det skal funke Lenke til kommentar
aadnk Skrevet 4. januar 2004 Del Skrevet 4. januar 2004 Du mener å få til scripting? Jada, det er mulig, og dette ville være en lett metode for å få det til: Private Sub Command1_Click() Dim ScriptControl As Object Set ScriptControl = CreateObject("MSScriptControl.ScriptControl") ScriptControl.Language = "VBScript" ScriptControl.AddCode Text1.Text End Sub Hvis Text1.Text er Dim A A = "Hello" MsgBox A Så vil det komme fram en MsgBox. De fleste funksjonene er tilgjengelig i VBScript, men hvis du f.eks skal endre på noe i form1 må du legge til dette før AddCode: ScriptControl.AddObject "Me", Me, True Nå vil det være mulig å skrive f.eks Me.Caption = "Hei". Lenke til kommentar
Jonas Skrevet 4. januar 2004 Forfatter Del Skrevet 4. januar 2004 Men nå funker jo ikke kommandoer som form2.show eller Form1.Height! Finnes det ikke noen måte hvor den bare tar teksten og setter den inn under knappen så den utfører akkurat det jeg skriver uten masse annet? Lenke til kommentar
GeirGrusom Skrevet 4. januar 2004 Del Skrevet 4. januar 2004 Det fungerer ikke slik i det hele tatt Alt du skriver i kode vinduet blir kompilert til maskin kode og lagt i VisualBasic sitt program område(i minnet, og prosessoren) når du trykker på "Run" En kan ikke bare ta en tekststring runtime og legge det til i koden. Så da må du bruke et script, VBScript. Ulempen med Scripts er at de ikke har full kontroll, og ikke direkte minne tilgang(siden scriptet blir regnet som et eget objekt) Derfor må DU legge til objekter som scriptet skal ha tilgang til i ditt eget program.. Script.AddObject(Object as Variant) eller noe sånt noe. Lenke til kommentar
Jonas Skrevet 4. januar 2004 Forfatter Del Skrevet 4. januar 2004 Derfor må DU legge til objekter som scriptet skal ha tilgang til i ditt eget program..Script.AddObject(Object as Variant) eller noe sånt noe. Hvordan kan jeg gjøre det? det er ikke mange kommandoer jeg trenger.. Lenke til kommentar
aadnk Skrevet 4. januar 2004 Del Skrevet 4. januar 2004 Trodde jeg skrev det tydelig nok, men skal du kunne bruke objekter fra prosjektet ditt i scriptet må du legge det til, som dette: Private Sub Command1_Click() Dim ScriptControl As Object Set ScriptControl = CreateObject("MSScriptControl.ScriptControl") ScriptControl.Language = "VBScript" ' Hvis du skal legge til 2 former, form1 og form2, skriver du det slik: ScriptControl.AddObject "Form1", Form1, True ScriptControl.AddObject "Form2", Form2, True ' Alle objekter kan legges til, så har du en modul du vil bruke gjør du ' det samme. ScriptControl.AddCode Text1.Text End Sub Funksjonen brukes slik: AddObject [Navnet objektet får i scriptet], [objekt], [Om objektet skal være globalt, sett den til TRUE] Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå