Homepage - Galerie - Kalender  




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: VBS
BeitragVerfasst: 15.11.2013, 19:10 
Offline
Ich kanns nicht lassen!
Benutzeravatar

Registriert: 26.08.2003, 21:20
Beiträge: 605
Wohnort: Bremen
Skype: Doriath
Jemand da der sich damit auskennt, hier waren ja mal einige. Ich fummel mir das gerade für die Arbeit rein da ich unsere CAD Administration durch totale Inkompetenz glänzt und ich jetzt halt versuche die Arbeit wenigstens für mich halbwegs einfach zu machen. Bisher habe ich das mit AutoHotkey gemacht aber damit komme ich aktuell nicht weiter bei dem was ich machen will. Momentan versuche ich gerade mal so ein paar kleine Sachen aus um dann hoffentlich so weit zu kommen, das ich ein paar Infos aus der Datenbank über das Script auslesen kann mit denen ich dann weiter mache die Command Liste für die Datenbank habe ich zumindest schon mal gefunden. Jetzt habe ich nur schon mal gleich anfangs das Problem das ich mir ein popliges Script im Internet gesucht habe und wenn ich das in VBS13 einfüge dann entfernt das Programm automatisch den Befehl "Set". Wurde der irgendwie ersetzt oder so? Ich finde darüber nichts.

Geht um das Ding so sollte das aussehen

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "%windir%\notepad " & WScript.ScriptFullName


Und bei mir macht der das draus

Module Module1

Dim WshShell As Object

Sub Main()

--> WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run("Skype.exe", 1, True)
WshShell = Nothing

End Sub

End Module

Dort wo der Pfeil ist will ich set hin machen, er schlägt mit SetAttr vor und wenn ich Attr lösche dann verschwindet das Set auch wieder. Bei kopieren der gleiche Mist, kopiere rein und das Set ist automatisch wech. Falls wer ne Ahnung hat wieso das so ist, ich habe hier schon keine Ahnung wie viel Stunden mit Suchen verbracht.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: VBS
BeitragVerfasst: 15.11.2013, 21:41 
Offline
Spammer des Grauens back again
Benutzeravatar

Registriert: 16.08.2009, 15:04
Beiträge: 1259
Wohnort: Berlin
Skype: cohain82
Ich habe mich jetzt nur 5 Minuten in VBS eingelesen und vielleicht löst es nicht dein Problem, aber was ich beim rumprobieren gesehen habe ist das du dir die Zuweisung der Variable als Objekt sparen kannst. Das ist wie in Python, das eine Variable erst einem Typ zugeordnet wird sobald sie benutzt wird.

Interessanterweise bekam ich auch einen Compile Fehler, wenn ich deinen Code so benutzt habe. Sobald das "AS Object" weg war, kein Problem mehr.

Aus Set WshShell = WScript.CreateObject("WScript.Shell") mache Set WshShell = CreateObject("WScript.Shell").

Was ich bei deinem Code beispiel unten nicht verstanden habe, wieso das Run in Klammern ist, in VBS scheinen Aufrufe nur in Klammern stehen zu dürfen wenn sie eine Zuweisung enthalten. Also:

Return = WshShell.Run("Skype.exe", 1, true)

Um es zuende zu bringen. Mit meinen 5 Minuten Kenntnissen von VBS müßte dein Code so aussehen:

Code:
Module Module1

  Dim WshShell

  Sub Main()

    Set WshShell = CreateObject("WScript.Shell")
    return = WshShell.Run("Skype.exe", 1, True)
    WshShell = Nothing

  End Sub

End Module


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: VBS
BeitragVerfasst: 15.11.2013, 22:28 
Offline
Ich kanns nicht lassen!
Benutzeravatar

Registriert: 26.08.2003, 21:20
Beiträge: 605
Wohnort: Bremen
Skype: Doriath
Ja das mit dem Objekt hatte ich anfangs nicht drin nur später mal rein getan in der Hoffnung es bringt mich weiter und dann nicht wieder gelöscht.

Aber da ist auch wieder das Problem das Set bei WshSchell bleibt nicht das wird automatisch wieder entfernt. Und genau da komme ich nicht weiter ich finde nicht raus wieso VB das entfernt. Und Erfahrung hab ich noch weniger da ich bisher nix programmiert hab außer mit Autohotkey und da kann man sich gut reinlesen.

Das Run setzt vb automatisch in Klammern.

Immerhin habe ich jetzt schon mal raugefunden das Set nicht mehr unterstützt wird deswegen entfernt der das.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: VBS
BeitragVerfasst: 19.11.2013, 03:07 
Offline
Ich kanns nicht lassen!
Benutzeravatar

Registriert: 18.09.2003, 11:48
Beiträge: 547
Wohnort: Düsseldorf
Visual Basic Script hat zwar Gemeinsamkeiten mit Visual Basic, ist aber eine Skriptsprache ...

Visual Basic 2013 (wie auch die Vorversionen) ist zur Entwicklung von Skripten eigentlich ungeeignet, da man auf dem Zielrechner zwingend die zugehörige Runtime installieren muss. VBS-Skripte können dagegen auf jedem Windows-System ohne zusätzliche Installation ausgeführt werden. Wenn Du VBS erstellen willst, nimm deshalb besser nicht Visual Studio 2013 sondern einen einfachen Editor wie z.B. Notepad++

Code:
Dim shell
Set shell = CreateObject("WScript.Shell")
shell.Run """Skype.exe"",1 ,true"
Set shell = Nothing

Als Datei mit der Endung "vbs" abspeichern sollte also funktionieren (eventuell noch den Pfad zu Skype mit aufnehmen, wenn das Verzeichnis nicht in der Path-Variable steht).


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: VBS
BeitragVerfasst: 09.01.2014, 19:21 
Offline
Ich kanns nicht lassen!
Benutzeravatar

Registriert: 26.08.2003, 21:20
Beiträge: 605
Wohnort: Bremen
Skype: Doriath
Hallo war recht lang nimmer hier hatte aber raus gefunden woran es lag. Danke dir auf jeden fall noch. =)


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron