Gå til innhold
🎄🎅❄️God Jul og Godt Nyttår fra alle oss i Diskusjon.no ×

Kjøre kommandoer med et program


Anbefalte innlegg

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 :p

Lenke til kommentar
Videoannonse
Annonse

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

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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...