Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1288to1292
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ausgangsdatei löschen

Ausgangsdatei löschen
26.11.2012 10:51:03
Andreas
Hallo an alle im Forum
Ich bekomme zur weiteren Bearbeitung eine Excel Datei, welche ich mit Hilfe eines Macrobefehls unter einen anderen Namen und in einem anderen Ordner speichern muss.
Habe ich eine Möglichkeit, die „Orginaldatei“ mit dem Ausführen des neuen Speicherbefehl (neuer Speichername) im Quellverzeichniss gleichzeitig zu löschen.
Wäre mir eine echte Hilfe.
Die Ausgangsdateien haben immer einen anderen Namen….
Orginalpfad: Z:\Werkstatt\Wareneingang\2012
Da liegt dieAusgangsdatei.
neuer Speicherpfad: Z:\Werkstatt\Arbeitsscheine\2012
Vielleicht gibt es ein Befehl, den ich in mei Macro einfügen kann.
Mein Macro lautet:
Sub nur_speichern()
''Abfragebox für sicheres übernehmen
Dim strQuest As String
strQuest = MsgBox("       NAME___DATUM___GERÄTETYP ?  ", vbYesNo + vbQuestion, "   Datei  _
wird gespeichert unter:")
'Wenn die Abfrage mit "Nein" bestätigt wird,
'wird die Prozedur mit dem nächsten Befehl abgebrochen.
If strQuest = vbNo Then Exit Sub
'Datum fest übernehmen in Zelle AJ2
Range("AJ2").Select
Selection.Copy
Range("AJ2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
' speichern Makro
ActiveWorkbook.SaveAs Filename:="Z:\Werkstatt\Arbeitsscheine\2012\" & Range("I73") & ".xls"
End Sub

Vielleicht hat jemand einen Tipp für mich
Gruß
Andreas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausgangsdatei löschen
26.11.2012 11:11:52
Klaus
Hallo Andreas,
wenn du direkt unter C: eine textdatei mit dem Namen "text.txt" anlegst, löscht du diese per VBA mit dem Befehl
kill("c:\text.txt")

Wenn du den Pfad und Namen der Ausgangsdatei kennst, kannst du ihn dort einfügen. Ich kann mir das so vorstellen:
Sub nur_speichern()
'Namen der aktuellen Datei feststellen
Dim strDateiname As String
strDateiname = ActiveWorkbook.FullName
''Abfragebox für sicheres übernehmen
Dim strQuest As String
strQuest = MsgBox("       NAME___DATUM___GERÄTETYP ?  ", vbYesNo + vbQuestion, "   Datei  _
wird gespeichert unter:")
'Wenn die Abfrage mit "Nein" bestätigt wird,
'wird die Prozedur mit dem nächsten Befehl abgebrochen.
If strQuest = vbNo Then Exit Sub
'Datum fest übernehmen in Zelle AJ2
'  Range("AJ2").Select
'    Selection.Copy
'    Range("AJ2").Select
'    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
'        False, Transpose:=False
Range("AJ2").copy
Range("AJ2").pastespecial paste:=xlvalues
' speichern Makro
ActiveWorkbook.SaveAs Filename:="Z:\Werkstatt\Arbeitsscheine\2012\" & Range("I73") & ".xls"
' alte Datei löschen
If MsgBox("Die Datei " & strDateiname & " wirklich löschen?", vbYesNo) = 6 Then
Kill (strDateiname)
End If
End Sub
Ich hab noch eine Sicherheitsabfrage um das löschen gelegt. Und wo ich grad dabei war, hab ich die überflüssigen .select auskommentiert. Merke: .select und .activate (und .selection usw....) sind zu 99% unnötig und sollten möglichst immer vermieden werden. (den Codeteil hast du mit dem Makrorekorder aufgezeichnet, richtig?)
Grüße,
Klaus M.vdT.

Anzeige
AW: Ausgangsdatei löschen
26.11.2012 11:39:55
Andreas
Hallo klaus
danke für deine schnelle antwort.
das Macro habe ich mit dem Macrorecorder aufgezeichnet, das ist richtig.
Die ausgangsdatei hat immer einen anderen Namen. Muss ich den vorher immer in die unter C:
angelegte Textdatei einschreiben, um ihn dann innerhalb des Makro zu löschen. das wäre ja umständlich.
Oder verstehe ich dein abgeändertes Makro so, das es automatisch den dateinamen erkennt und diesen dann löscht.
Wäre ja besser, weil mit dieser datei sollen vier Leute arbeiten.
Danke dir auch für die info über die select-geschichte. habe ich nicht gewußt.
da reicht halt das Wissen nicht....
Andreas

Anzeige
AW: Ausgangsdatei löschen
26.11.2012 12:44:23
Klaus
Muss ich den vorher immer in die unter C:angelegte Textdatei einschreiben
Nein, dass war nur ein Beispiel!
Oder verstehe ich dein abgeändertes Makro so, das es automatisch den dateinamen erkennt und diesen dann löscht.
Das sollte es. Die Zeile
strDateiname = ActiveWorkbook.FullName
schreibt den aktiven Dateinamen in eine Variable,
die Zeile
Kill (strDateiname)
löscht dann eben diese Datei.
Probiers halt mal an einer unwichtigen Datei aus!
Grüße,
Klaus M.vdT.
P.S.: es könnte sein, dass einige Virenscanner den Codeteil "Kill" als schädlich einstufen.

Anzeige
AW: Ausgangsdatei löschen
26.11.2012 13:09:19
Andreas
Hallo Klaus
meine Datei meckert bei der zeile:
strQuest = MsgBox(" NAME___DATUM___GERÄTETYP ? ", vbYesNo + vbQuestion, " Datei _
wird gespeichert unter:")
muss da event. was geändert werden ?
Aber war ja vorher genau so
Andreas

Kopierfehler?
26.11.2012 13:53:59
Klaus
Andreas,
In der Zeile passt der Zeilenumbruch nicht ganz. Ist jetzt doof zu erklären.
strQuest = MsgBox("TEXTA", vbYesNo + vbQuestion, "TEXTB")
Kopier dir stattdessen mal diese Zeile (gekürzt, um den Herber-Forum-Zeilenumbruch zu verhindern) und erstetze darin "TEXTA" mit " NAME___DATUM___GERÄTETYP ? " sowie "TEXTB" mit " Datei wird gespeichert unter:" dann sollte das wieder hinhauen.
Grüße,
Klaus

Anzeige
AW: Kopierfehler?
26.11.2012 14:07:44
Andreas
Hallo Klaus
funzt einwandfrei...
danke dir
ich wünsch dir eine schöne woche
bis zum nächsten mal
Andreas

Danke für die Rückmeldung! owT.
26.11.2012 14:17:31
Klaus
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige