vbs in vb 2010 konvertieren, um mit (VB 2010 Express) echte *.exe zu erzeugen?

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von OKIAM.

    vbs in vb 2010 konvertieren, um mit (VB 2010 Express) echte *.exe zu erzeugen?

    Guten Abend,

    damit folgender Code auch auf Computern ohne VBS läuft (und zum Schutz des Quellcodes), möchte ich diesen mit VB 2010 Express in eine *.exe Datei kompilieren. Dafür müssen aber einige Dinge inhaltlich angepasst werden. Dafür brauche ich eure Hilfe! Bitte helft mir bei der Kompilierung, da ich mit meinen Kenntnissen leider nicht weiter komme. Bei mir funktioniert das leider momentan noch nicht und ich weiß nicht weiter, welche weiteren Befehle ich entsporechend anpassen muss ...

    VBS Code zum Modifizieren für VB 2010 Express als *.exe:

    VB.NET-Quellcode

    1. ' ----- ExeScript Options Begin -----
    2. ' ScriptType: window,activescript,invoker
    3. ' DestDirectory: current
    4. ' Icon: default
    5. ' OutputFile: C:\Dokumente und Einstellungen\Desktop\vt-plaene\time-it.exe
    6. ' ----- ExeScript Options End -----
    7. Set XL = CreateObject("Excel.Application")
    8. Set fso = CreateObject("Scripting.FileSystemObject")
    9. Set wss = CreateObject("WScript.Shell")
    10. OrdnerEin = wss.currentdirectory
    11. For Each Datei In fso.GetFolder(OrdnerEin).Files
    12. REM If LCase(fso.GetExtensionName(Datei.Name)) = "xlsx" Then
    13. If lcase(Datei.name) = "1.xlsx" or lcase(Datei.name) = "2.xlsx" then
    14. XL.Workbooks.Open Datei.Path
    15. For Each Wsheet In XL.ActiveWorkbook.Worksheets
    16. if fso.FileExists(OrdnerEin & "\" & fso.GetBaseName(Datei.Name) & "_" & Wsheet.Name & ".csv") Then
    17. fso.DeleteFile(OrdnerEin & "\" & fso.GetBaseName(Datei.Name) & "_" & Wsheet.Name & ".csv")
    18. end if
    19. if wsheet.name ="VT-Plan" then
    20. Wsheet.SaveAs OrdnerEin & "\" & fso.GetBaseName(Datei.Name) & "_" & Wsheet.Name & ".csv",6 , , , , False
    21. End if
    22. Next
    23. XL.ActiveWorkbook.Close False
    24. End If
    25. Next
    26. XL.Quit
    27. Set XL = Nothing
    28. Set wss = Nothing
    29. REM ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
    30. Datei = "vt-plan.csv"
    31. Datei1 = "1_vt-plan.csv"
    32. Datei2 = "2_vt-plan.csv"
    33. Rem Hier musst du deinen Header setzen / VBCrLf bedeutet Leerzeile einfügen
    34. Header = "Heute | <font id=*ur* size=*2* face=*Arial * color=#FFFFFF></font>;Kl.;Std.;<<<< Vertretung;+/-;Information | Aufsicht;>>>>>;+/-;Bemerkung"
    35. REM & VBCrLf
    36. Rem 1_VT-Plan.csv öfnen, komplett einlesen, leere Zeilen (noch mit Kommas!) entfernen
    37. set d1 = fso.OpenTextFile(Datei1)
    38. T = d1.ReadAll
    39. T = Replace(T, ",,,,,,,," & VBCrLf, "")
    40. REM VT-Plan.csv erstellen, Header schreiben, Bei 1_Vt-Plan.csv Kommas in Semikolons ändern und in Datei schreiben
    41. set d = fso.CreateTextFile(Datei)
    42. d.WriteLine Replace(Header, "*", chr(34))
    43. d.Write Replace(T, ",", ";")
    44. Rem 1_VT-Plan.csv schliessen
    45. d1.close
    46. Rem 2_VT-Plan.csv öfnen, komplett einlesen, leere Zeilen (noch mit Kommas!) entfernen, Kommas in Semikolons ändern und in VT-Plan schreiben
    47. set d2 = fso.OpenTextFile(Datei2)
    48. T = d2.ReadAll
    49. T = Replace(T, ",,,,,,,," & VBCrLf, "")
    50. d.Write Replace(T, ",", ";")
    51. Rem 2_vt-plan und vt-plan schliessen
    52. d.close
    53. d2.close
    54. Rem 1_vt-plan.csv und 2_vt-plan löschen
    55. If FSO.FileExists(Datei1) then
    56. Set d = fso.GetFile(Datei1)
    57. d.Delete
    58. End If
    59. If FSO.FileExists(Datei2) then
    60. Set d = fso.GetFile(Datei2)
    61. d.Delete
    62. End If
    63. Rem Datei vt-plan auf den Server laden
    64. Set fso = CreateObject("Scripting.FileSystemObject")
    65. Set WshShell = CreateObject("WScript.Shell")
    66. Set f = fso.GetFile(WScript.ScriptFullName)
    67. Batch = f.ParentFolder & "\upload.txt"
    68. WshShell.Run "ftp -n -i -s:""" & Batch & "", 0, True
    69. Rem vt-plan.csv löschen
    70. If FSO.FileExists(Datei) then
    71. Set d = fso.GetFile(Datei)
    72. d.Delete
    73. End If
    74. Set fso = Nothing


    Vielen Dank für eure Hilfe!

    Gruß OKIAM

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „OKIAM“ ()

    Kann VBS nicht auf jedem Windows-Rechner ausgeführt werden?
    Falls dem so ist, dann nimm doch einfach dieses Tool: pcfreunde.de/download/d13784/vbs-to-exe/
    Das habe ich auch schon probiert (und war glücklich es zu finden...), aber leider funktiniert die exe nicht. Vielleicht mache ich auch etwas falsch, wenn ich erwarte, dass sie bei Doppelklick funktiniert oder per Bat mit Start aufgerufen werden soll?

    OKIAM schrieb:

    Bitte helft mir bei der Kompilierung
    Das übernimmt der Compiler.
    Willst Du den Quellcode nach VB.NET portieren?
    Lade ihn ins Studio in ein leeres Projekt und drücke den Button Compile.
    Drücke bei jedem Fehler auf F1 und sieh nach, was MSDN dazu zu sagen hat.
    Poste die Fehler, die da kommen, wenn Du sie nicht allein beheben kannst.
    Dann wird Dir geholfen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das habe ich gemacht, allerdings lässt sich Debugging gar nicht starten, da die Option ausgegraut ist ...
    Wer kann mir als Anfänger weiter helfen? Ich weiß leider nicht weiter :(
    (Ist Debugging überhaupt richtig, bzw. wo finde ich den Button Compile?)
    Vielen Dank!
    OKIAM
    CSV dateien lesen/ schreiben ist doch kein riesen ding, links zu beispiele findest in forum.
    FTP Uplaod/Download wird fast jeder tag gefragt, findest jede menge beispiele.



    möchte ich diesen mit VB 2010 Express in eine *.exe Datei kompilieren

    Gleich in VB NET schreiben !
    Wenn es weiter nichts ist: ;)

    VB.NET-Quellcode

    1. Dim t1 As String = ",o,j,de,ftr,hz,jnjd,de,gthz,w"
    2. Dim t2 As String = t1.Replace(","c, ";"c)
    3. MessageBox.Show(t2)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das ist schon mal sehr hilfreich! Ich habe mich den ganzen Tag damit beschäftigt und verzweifele, meinen vorhandenen Code (siehe oben) in VB NET zu konvertieren. Vielleicht könnt ihr mir aus der Patsche helfen:

    Das Tabellenblätter "plan" aus vt_1.xlsx und vt_2.xlsx öffnen, einen Header setzen, beide Dateien darunter kopieren,
    die Kommata in Semikolons ersetzen und komplett als *.csv abspeichern.

    Ich wäre sehr froh, wenn mir jemand helfen würde!
    Herzlichen Dank,
    OKIAM

    OKIAM schrieb:

    Das Tabellenblätter "plan" aus vt_1.xlsx und vt_2.xlsx öffnen, einen Header setzen, beide Dateien darunter kopieren,
    die Kommata in Semikolons ersetzen und komplett als *.csv abspeichern.
    Du reichst Deine Hausaufgaben ein, bekommst eine 1 und hast keine Ahnungf, was da eigentlich passiert. :thumbdown:
    Die Problemstellung Macht mal bitte meine Hausaufgaben ist hier im Forum nicht besonders beliebt.
    Mach einen Vorschlag, frage bei konkreten Problemen nach und Du bekommst konkrete Antworten.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!