Problem beim Strings verketten

  • VBScript

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von peterfido.

    Problem beim Strings verketten

    Hallo zusammen,

    ich habe ein Problem mit dem verketten der Strings.

    Quellcode

    1. Dim oFSO
    2. Dim sFileAContents
    3. Dim sResult
    4. Set oFSO = CreateObject("Scripting.FileSystemObject")
    5. sFileAContents = oFSO.OpenTextFile("c:\filea.txt").ReadAll()
    6. sResult = Replace(sFileAContents, "testreplace1", "meinreplace")
    7. sResult = sResult & Replace(sFileAContents, "testreplace2", "meinreplace2")
    8. ZielDatei = "C:\Dokumente und Einstellungen\admin\Desktop\Kontakt.txt"
    9. CreateObject("Scripting.FileSystemObject").CreateTextFile(ZielDatei, True).WriteLine sResult


    Mein Problem nun, ist das es immer nur einen String ersetzt. Villeicht findet einer den Fehler ;)

    Ich bin dankbar über jede Hilfe,

    MfG
    Hallo Peterfido :D

    also in der filea.txt steht z.B sowas:

    "Hallo ich bin der Peterfido und helfe gerne. Ziemlich gut finde ich das vb-paradise Forum".

    So und jetzt möchte ich einmal "Peterfido" mit "Manuel" ersetzen und einmal "vb-paradise" mit Coding.

    Ist jetzt natürlich nicht genau die filea.txt aber es ist genau das gleiche Prinzip :)
    Das funzt:

    Visual Basic-Quellcode

    1. dim strText, sDatei
    2. on error resume next
    3. sDatei=WScript.Arguments(0)
    4. if err.number>0 then
    5. msgbox "Kein Dateiname übergeben!",vbokonly+vbcritical,"Fehler"
    6. else
    7. on error goto 0
    8. los
    9. end if
    10. private sub Los
    11. Const ForReading = 1
    12. Const ForWriting = 2
    13. Const ForAppend = 8
    14. Set objFSO = CreateObject("Scripting.FileSystemObject")
    15. Set objTest = objFSO.GetFile(sDatei)
    16. If objTest.Size > 0 Then
    17. Set objFile = objFSO.OpenTextFile(sDatei, ForReading)
    18. strText = objFile.ReadAll
    19. objFile.Close
    20. end if
    21. strtext=replace(strtext,"manuel","peterfido",1,-1,vbtextcompare)
    22. strtext=replace(strtext,"vb-paradise","coding",1,-1,vbtextcompare)
    23. sDatei = left(sDatei,len(sdatei)-4) & " Neu.txt"
    24. Set objFSO = CreateObject("Scripting.FileSystemObject")
    25. Set objFile = objFSO.OpenTextFile(sDatei, ForWriting, True, 0)
    26. objFile.write strText
    27. objFile.Close
    28. end sub
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    Bis auf vbtextcompare sind es Standardwerte. Der Hauptfehler bei Dir war das sresult=sresult & replace... Da ist das 2. sresult zu viel und die Ausgabedatei hätte doppelt so groß sein müssen.
    Gruß
    Peterfido

    Keine Unterstützung per PN!