Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
160to164
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
160to164
160to164
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei verschieben

Datei verschieben
22.09.2002 17:36:17
skyglider
Hallo,
wie kann ich abhängig vom Wert einer Zelle eine Datei in ein anderes Verzeichnis verschieben ? Dabei soll der Dateiname noch aus den Inhalten mehrerer Zellen ermittelt werden.
Dank im voraus.
Skyglider

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Datei verschieben
23.09.2002 09:14:50
Roland Köstring
Hallo Skyglider,

Roland

Re: Datei verschieben
23.09.2002 17:50:07
skyglider
Hi Roland,
bin leider kein begnadeter Programmierer, bekomme leider immer die Fehlermeldung Syntaxfehler(erwartet THEN oder GOTO) bzw. Kompilierungsfehler. So sieht jetzt mein Makro aus:

If cells(b,4) > 3 AND cells(b,4) < 6
Dateiname = cells(c,4) & "-_" & cells(d,4)
FileSystemObject.CopyFile c:\test\in Arbeit & Dateiname, c:\test\gültig & Dateiname
Kill Dateiname
End If

Wird wirklich die Datei mit dem Befehl COPyfile ins neue Verzeichnis verschoben oder doch nur kopiert ?

Vielleicht kannst du nochmals helfen ?
Gruß
skyglider

Anzeige
Re: Datei verschieben
24.09.2002 10:35:32
Roland Köstring
Pardon, Skyglider:
es muss natürlich heissen:

In Deinem Makro musst Du bei den Dateibezeichnungen noch Hochkommas
und zwischen dem Pfad und der Datei ein "\" einfügen, also
FileSystemObject.CopyFile "c:\test\in Arbeit\" & Dateiname, "c:\test\gültig\" & Dateiname
Frage noch: bei "cells(b,4)" steht in b die Zeilennummer, ja?

Gruss Roland





Re: Datei verschieben
24.09.2002 10:45:35
Roland Köstring
PS:
COPYFILE kopiert, deshalb anschliessend noch KILL (löscht).
Habe keine Befehl für "Rename" gefunden.
Roland
Anzeige
Re: Datei verschieben
24.09.2002 11:59:42
skyglider
Hi Roland,

die Zelldefinition habe ich korrigiert in: cells(4,2)( Zeile = 4, Spalte = B)
Bekomme aber immer noch die Fehlermeldung "Fehler beim Kompilieren , Außerhalb der Prozedur ungültig"
Gruß
skyglider

Re: Datei verschieben
24.09.2002 14:16:02
skyglider
Hi Roland,
bin jetzt doch etwas weiter gekommen. So sieht es bei mir jetzt aus.

Sub a()
For I = 1 To 100
If Cells(I, 3) > 3 And Cells(I, 3) < 6 Then
Dateiname = Cells(I, 1) & "-_" & Cells(I, 2) & ".xls"
FileSystemObject.CopyFile "C:\in Arbeit\" & Dateiname, "C:\gültig\" & Dateiname
Kill Dateiname
End If
Next I
End Sub

Nun bekomme ich die Fehlermeldung bei FileSystemObject " Objekt erforderlich"
Habe aber alles kontrolliert. Pfad stimmt.
Gruß
skyglider

Anzeige
Re: Datei verschieben
24.09.2002 19:53:40
Roland Köstring
Hallo Skyglider,
ich entschuldige mich für massiven Pfusch am Bau! Ich habe
die Sache einfach nicht ordentlich getestet. Jetzt aber gleich
zwei Versionen, die beide funktionieren:
(Bitte in ein Modul einstellen, wegen des Declare)

' Declare für Lösung 2
Declare Function CopyFile& Lib "kernel32" Alias "CopyFileA" _
(ByVal Kopierdatei As String, ByVal Neuedatei As String, _
ByVal DateischonDa As Long)
Sub a() ' Lösung 1
'
' Bei dieser Lösung muss erst ein FileSystemObject erzeugt werden,
' das hatte ich übersehen
'
Dim fs As Object
Set fs = CreateObject("Scripting.FileSystemObject")

For I = 1 To 100
If Cells(I, 3) > 3 And Cells(I, 3) < 6 Then
Dateiname = Cells(I, 1) & "-_" & Cells(I, 2) & ".xls"
fs.CopyFile "C:\in Arbeit\" & Dateiname, "C:\gültig\" & Dateiname
Kill "C:\in Arbeit\" & Dateiname
End If
Next I
End Sub

Sub b()
'
' Lösung 2 , abgekupfert von Reinke,Held, ...
' Microsoft Excel 2000 Programmierung, S.644
' (ein sehr empfehlenswertes Buch!)
'
' Diese Lösung benötigt das Declare Statement oben, ist aber dann m.E. eleganter
'
Dim rtn As Integer

For I = 1 To 100
If Cells(I, 3) > 3 And Cells(I, 3) < 6 Then
Dateiname = Cells(I, 1) & "-_" & Cells(I, 2) & ".xls"
rtn = CopyFile("C:\in Arbeit\" & Dateiname, "C:\gültig\" & Dateiname, False)
Kill "C:\in Arbeit\" & Dateiname
End If
Next I
End Sub

So, jetzt hoffe ich, dass es passt!
Gruss Roland



Anzeige
Re: Datei verschieben
25.09.2002 11:55:18
skyglider
Hi Roland
suuuuper jetzt klappt es
Danke Gruß skyglider

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige