Ein vorhandene Datei was aus TextBoxen besteht umbenenn

  • VB.NET

Es gibt 42 Antworten in diesem Thema. Der letzte Beitrag () ist von Perser7.

    Ein vorhandene Datei was aus TextBoxen besteht umbenenn

    Hallo
    So folgendes
    Ich will mit (IF) eine
    vorhandene Datei (.xls) der aus mehreren TextBoxen besteht umbenenn auf andere TextBoxen.
    Was ich damit meine und wie ich das so in der Richtung haben will zeig ich euch am besten.

    VB.NET-Quellcode

    1. If RadioButton1.Checked Then
    2. MyExcel.ActiveWorkbook.SaveAs("C:\ServiceA\SA-Sicherung\" & TextBox1.Text + TextBox26.Text + TextBox2.Text + TextBox26.Text + TextBox3.Text + TextBox20.Text)
    3. Else
    4. MyExcel.ActiveWorkbook.SaveAs("C:\ServiceA\SA-Sicherung\" & TextBox2.Text + TextBox26.Text + TextBox3.Text + TextBox26.Text + ComboBox1.Text + TextBox20.Text)
    5. End If

    das ist der speicher Vorgang funktioniert auch!
    nur wenn ich genau unter derselbe Name speichern möchte, bekomm ich eine Fehlermeldung wenn die Datei schon vorhanden ist.

    VB.NET-Quellcode

    1. If IO.Directory.Exists("C:\ServiceA\SA-Sicherung\" & TextBox1.Text + TextBox26.Text + TextBox2.Text + TextBox26.Text + TextBox3.Text + TextBox20.Text) Then
    2. My.Computer.FileSystem.RenameFile("C:\ServiceA\SA-Sicherung\" & TextBox1.Text + TextBox26.Text + TextBox2.Text + TextBox26.Text + TextBox3.Text + TextBox20.Text, TextBox1.Text + TextBox26.Text + TextBox2.Text + TextBox26.Text + TextBox3.Text + TextBox20.Text + TextBox27.Text)
    3. End If
    4. If IO.Directory.Exists("C:\ServiceA\SA-Sicherung\" & TextBox2.Text + TextBox26.Text + TextBox3.Text + TextBox26.Text + ComboBox1.Text + TextBox20.Text) Then
    5. My.Computer.FileSystem.RenameFile("C:\ServiceA\SA-Sicherung\" & TextBox2.Text + TextBox26.Text + TextBox3.Text + TextBox26.Text + ComboBox1.Text + TextBox20.Text, TextBox2.Text + TextBox26.Text + TextBox3.Text + TextBox26.Text + ComboBox1.Text + TextBox20.Text + TextBox27.Text)
    6. End If

    hier hab ich versucht zusagen das er es umbenennt aber erfolgslos :D gut die
    zusammen hänge verstehe ich selber nicht was ich da gemacht hab :D
    ich wollte das so in der Richtung
    haben falls jemand eine Lösung hat oder eine andere weg hat bin ich sehr dankbar.

    Lg perser7

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

    Perser7 schrieb:

    hier hab ich versucht zusagen das er es umbenennt aber erfolgslos
    Wie manifestierte sich die Erfolglosigkeit :?:
    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!
    Auf eine sehr komische Art was für ein Programm sehr
    unwahrscheinlich ist Und zwar er tuts einfach nicht

    Keine Fehler Meldung, keine Errors, kein pieps, kein
    Reaktion! :evil:
    Mein Programm spricht nicht mehr mit mir

    Im Ernst jetzt keine Ahnung er reagiert nicht. ?(
    ausführet tut es bis zum Schluss, aber dieses umbenenn
    Prozess überspringt er anscheinen.
    Vorher die Datei löschen und dann mit SaveAs Methode drüber?
    Dann kanns nicht passieren, dass die Datei schon vorhanden ist.

    GEHT NICHT WEIL DATEI JA BENUTZT WIRD!^^ (ich depp^^)

    VB.NET-Quellcode

    1. Dim path As String
    2. If RadioButton1.Checked Then
    3. path = String.Concat("C:\ServiceA\SA-Sicherung\", TextBox1.Text, TextBox26.Text, TextBox2.Text, TextBox26.Text, TextBox3.Text, TextBox20.Text)
    4. Else
    5. path = String.Concat("C:\ServiceA\SA-Sicherung\", TextBox2.Text, TextBox26.Text, TextBox3.Text, TextBox26.Text, ComboBox1.Text, TextBox20.Text)
    6. End If
    7. Try
    8. System.IO.File.Delete(path)
    9. Catch
    10. End Try
    11. MyExcel.ActiveWorkbook.SaveAs(path)

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

    Nene meine Idee war die offene Datei zu löschen (also die Datei an sich und dann hast du ja noch das offene Excelsheet) und dann neu zu speichern aber mir fällt grad auf das es schwer werden dürfte eine offene Datei zu löschen..
    ahh ok jetzt!

    nein leider ist es so das ich die datei brauche

    z.B. ich hab vor eine woche den selben kunden service auftrag gespeichert unter (herr Musterman xxx.xls)

    jetzt kommt der kunde wieder mit nem neuen auftrag
    jetzt beim erstellen eine neue Service auftrag unter selben name gehet ja nicht mehr weil sie vorhanden ist, also wollte ich sagen. IF X vohanden umbenenn

    dann bin ich glücklich

    greece57 schrieb:

    VB.NET-Quellcode

    1. If Dir("C:\Temp\Test1.doc") = "" Then
    Was soll das?

    VB.NET-Quellcode

    1. If System.IO.File.Exists(DEIN_FILE) Then
    2. ' da
    3. End If
    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!
    Nun,
    Du hast oben VB2010 stehen, da solltest Du Dich auch bemühen, das VB2010-Vokabular zu benutzen, zumal Du selbst ja IO.Directory.Exists() verwendest.
    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!
    Ich hab lediglich hier nach eine Lösung gefragt!!!
    Ich brauche eine Antwort auf meine Frage und keine sinnlose Vorträge was mich nicht weiter bringt Diskussion schön und gut, aber ich wollte nicht diskutieren sondern stellte eine frage und erwarte eine Antwort, und keine predigen.
    Tut mir leid wenn ich unangenehm werde, ich muss hier was fertig stellen und habe kein zeit.

    Bitte nur wenn ihr denkt das ihr eine Lösung habt schreiben.
    Danke
    Also nochmal damit ich verstehe was dein Problem ist:

    Du möchtest eine Exceldatei speichern deren Name von iwelchen Txtboxen abhängt.
    Falls schon eine Datei existiert mit dem Namen willst du die schon existierende umbennenen und deine die du mom offen hast unter dem Namen speichern, richtig?
    Du hast oben gesagt dein Programm tut nix beim Rename-befehlt?
    Aber im Debugger steppt normal über den Rename befehl oder?
    Das einzige was mir einfallen würde wäre, dass deine Textbox27 leer ist also das der ein und ausgangsname ausversehen der gleiche ist :/

    Alles andere (Datei offen, Datei schreibgeschützt, etc.) hat bei mir Errors hervorgerufen

    Perser7 schrieb:

    Bitte nur wenn ihr denkt das ihr eine Lösung habt schreiben.
    C&P abgreifen, egal wie schlecht, Hauptsache, mein Problem iwird gelöst, und beim nächsten Mal bekomme ich wieder C&P-Code, weil ich keine Lust habe, programmieren zu lernen.
    Na gut. :D
    Eine Text-Datei kannst Du unter dem Notepad löschen.
    Wenn Du mit Excel oder sonst einem Office-Programm auf eine Datei zugreifst, wird sie geblockt.
    Allerdings solltest Du mal probieren, ob Du sie kopieren kannst. Das könnte Dir helfen.
    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!
    @greece57
    Mein Textbox27.text = 02 die eingefügt werden sollte.
    und in Debugger kommt keine einzige Fehlermeldung!! mein Programm funktioniert
    super :D so oder so er tut aber nix beim umbenennen bzw. am Ende kommt wieder die Meldung soll die Datei ersetztwerden.
    und mit rechte habe ich kein Problem.

    @ RodFromGermany
    Ich weiß was du meinst aber, muss schnell über die Bühne
    gehen in mom ich hab neu angefangen, Verbesserungen kommen noch :)
    ok... aber ich bekomme keine Meldung von verweigerte rechte oder so!
    aber mit dem kopieren hm... das ist auch eine gute Idee danke

    was ist wenn ich einfach die .xls Format am Ende weg lasse beim umbenenn!?
    denkt ihr bringt was es ist so ich möchte alles in einem Ordner haben deswegen.
    Extension weglassen ist nicht gut.
    Wenn, dann mach mem oder ori oder so rein:
    MyFile.xls ==> MyFile.ori.xls
    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!
    ok ich konnte den Fehler/Problem eingrenzen

    VB.NET-Quellcode

    1. If IO.Directory.Exists("C:\ServiceA\SA-Sicherung\" & TextBox1.Text + TextBox26.Text + TextBox2.Text + TextBox26.Text + TextBox3.Text + TextBox20.Text) Then
    2. MsgBox("JA!!!!!")
    3. ....
    4. end if

    das IF Exists tut nicht seine Arbeit, hat jemand ein Lösung
    wie ich oben genannte existierte Datei finden kann und ihn dann auch später umbenenn.