Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Datei Excel2010 copieren, verschieben in anderen Ordner
#1
Hallo beisammen.

Bin mal wieder hier. Das Problem "leere Zelle" konnte ich leider nicht lösen, ist nicht weiter tragisch denn ich habe inzwischen einen anderen Weg erarbeitet. Aber, auch da gibt es Probleme, die Datei wird momentan in einem "Ersatzverzeichnis" gespeichert, da es dorthin wo es sein sollte nicht klappt (gebe gelegentlich mal an warum m.E. das nicht geht).

Ersatzweise bin ich dabei zu ve
Code:
Sub CopyAusgaben()
   Dim Quellpfad As String
   Dim Zielpfad As String
   Dim Suchmuster As String
   Dim FilesC As String
   Dim NewPath As String
   Quellpfad = "C:\Benutzer\karomue\HausDateien\"
   Zielpfad = "C:\Benutzer\karomue\EigeneDokumente\Aktenkoffer\"
   Suchmuster = "Ausgaben2015.xlsm"                       '"*.txt"
 
   FilesC = Dir(Quellpfad & Suchmuster)
  'A = CheckDir(NewPath)
 
      For i = 1 To .FoundFiles.Count
           NewPath = Left(.FoundFiles(i), Len(.FoundFiles(i)) - Len(Dir(.FoundFiles(i))))
           NewPath = ZielPath & Right(NewPath, Len(NewPath) - Len(QuellPath))
           If CheckDir(NewPath) = False Then
               MsgBox "Kopieren fehlgeschlagen!"
               Exit Sub
           Else
               FileCopy .FoundFiles(i), ZielPath & Right(.FoundFiles(i), Len(.FoundFiles(i)) - Len(QuellPath))
           End If
       Next
 
   Do While Files <> ""
       FileCopy Quellpfad & Files, Zielpfad & Files
       Files = Dir()
   Loop
End Sub
rsuchen, die erstellte Datei per VBA zu verschieben. Aber alles was ich dazu bilang gefunden habe, geht nicht. Z.B. das, was hier dazwischengerutscht ist.

Fehlermeldung: Fehler beim Kopilieren (Zeile "
Code:
.FoundFiles


). Kann ich da was tun? Und Sorry, den Umgang mit dem Forum scheine ich auch verlernt zu haben. Benutze E2010.

(und nun mal schauen ob meine mal erstellte Signatur noch geht...)
Grüße, Charly
Antworten Top
#2
Hallo Charly,

da fehlt ein With mit einem Object.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#3
Hallo Steffl,

hm, schön, was könnte da hinpassen? Das war irgendein "Kollege" aus dem Internet, ist nicht auf meinem Mist gewachsen. Weiß aber nicht mehr wo das stand. Hatte zunächst die Vermutung, dass es evtl. ein Versionsunterschied sein könnte. Danke übrigens. Wir sind aber hier wohl schon in einem Forum wo so etwas garnicht hingehört - vermute ich mal. Da habe ich falsch angefangen. Kann man das ändern? Nicht, dass ich noch zusätzlichen Ärger bekomme.
Grüße, Charly
Antworten Top
#4
Hallo Charly,

ich kenne FoundFiles vom FileSearch-Object her. Das Problem hier ist aber ab Excel 2007 geht FileSearch nicht mehr. Versuche mal nach "FileSearch ersetzen" zu googeln.

Nachtrag: Ich habe selber mal gegoogelt und den Code von dir ein wenig geändert. Könntest Du mal testen?

Code:
Sub CopyAusgaben()
'entnommen aus
'http://www.ms-office-forum.net/forum/showthread.php?t=226263
   Dim objFSO As Object
  
   Dim Quellpfad As String
   Dim Zielpfad As String
   Dim Suchmuster As String
'   Dim FilesC As String
'   Dim NewPath As String
   Quellpfad = "C:\Benutzer\karomue\HausDateien\"
   Zielpfad = "C:\Benutzer\karomue\EigeneDokumente\Aktenkoffer\"
   Suchmuster = "Ausgaben2015.xlsm"                       '"*.txt"
    
    
    
'entnommen aus
'http://www.ms-office-forum.net/forum/showthread.php?t=226263
   Set objFSO = CreateObject("Scripting.FileSystemObject")
  
'   fso.MoveFile "C:\Test\DeineDatei.xls", "C:\Test\Ablage\"
   objFSO.MoveFile Quellpfad & Suchmuster, Zielpfad
'
'   FilesC = Dir(Quellpfad & Suchmuster)
'  'A = CheckDir(NewPath)
'
'      For i = 1 To .FoundFiles.Count
'           NewPath = Left(.FoundFiles(i), Len(.FoundFiles(i)) - Len(Dir(.FoundFiles(i))))
'           NewPath = ZielPath & Right(NewPath, Len(NewPath) - Len(QuellPath))
'           If CheckDir(NewPath) = False Then
'               MsgBox "Kopieren fehlgeschlagen!"
'               Exit Sub
'           Else
'               FileCopy .FoundFiles(i), ZielPath & Right(.FoundFiles(i), Len(.FoundFiles(i)) - Len(QuellPath))
'           End If
'       Next
'
'   Do While Files <> ""
'       FileCopy Quellpfad & Files, Zielpfad & Files
'       Files = Dir()
'   Loop
End Sub
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#5
Hm. So geht das nicht, zu viele Kommentarzeichen?
Grüße, Charly
Antworten Top
#6
Hallo Steffl,


Code:
Sub Dir1()

Dim Datei1, Pfad1, Name1
' Unter Microsoft Windows:
' Liefert "WIN.INI" (unter Microsoft Windows), falls die Datei existiert.
Datei1 = Dir("C:\WINDOWS\WIN.INI")

' Liefert einen Dateinamen mit der angegebenen Erweiterung. Existieren
' mehrere Dateien mit der Erweiterung .INI, so wird der erste gefundene
' Dateiname zurückgegeben.
Datei1 = Dir("C:\WINDOWS\*.INI")

' Dir erneut ohne Argumente aufrufen, um die nächste Datei mit der
' Erweiterung .INI im selben Verzeichnis zurückzugeben.
Datei1 = Dir

' Die erste versteckte Datei mit der Erweiterung *.TXT zurückgeben.
Datei1 = Dir("*.TXT", vbHidden)

' Namen in C:\ anzeigen, die Verzeichnisse darstellen.
'Pfad1 = "C:\Benutzer\karomue\HausDateien"    ' Pfad setzen.
'Pfad1 = "c:\"    ' Pfad setzen.
Pfad1 = "C:\Benutzer\"    ' Pfad setzen.

Name1 = Dir(Pfad1, vbDirectory)    ' Ersten Eintrag abrufen.
'Name1 = Dir(Pfad1)    ' Ersten Eintrag abrufen.
Do While Name1 <> ""    ' Schleife beginnen.
   ' Aktuelles und übergeordnetes Verzeichnis ignorieren.
   If Name1 <> "." And Name1 <> ".." Then
       ' Mit bit-weisem Vergleich sicherstellen, daß Name1 ein
       ' Verzeichnis ist.
       If (GetAttr(Pfad1 & Name1) And vbDirectory) = vbDirectory Then
           Debug.Print Name1    ' Eintrag nur anzeigen, wenn es sich
       End If    ' um ein Verzeichnis handelt.
   End If
   Name1 = Dir    ' Nächsten Eintrag abrufen.
Loop


End Sub
Das ist ein Beispiel aus der Hilfe. Es läuft der 1. Teil mit der Suche im Root (Windows), sobald man aber ein Verzeichnis tiefer eingibt kommt als Datei1 nur noch "". Verstehe ich jetzt gerade nicht.
Grüße, Charly
Antworten Top
#7
Hallo Charly,

(24.10.2015, 16:14)karomue schrieb: zu viele Kommentarzeichen?

das verstehe ich nicht, in diesem Beispiel von Ron de Bruin wird das genauso so verwendet.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#8
Hallo Charly,

Steffl hat ja auf Ron de Bruin hingewiesen. Dort gibt es zwei Beispiele. Für das Verschieben von Dateien solltest Du das zweite nehmen:

Zitat:
Code:
Sub Move_Rename_One_File()
'You can change the path and file name
   Name "C:\Users\Ron\SourceFolder\Test.xls" As "C:\Users\Ron\DestFolder\TestNew.xls"
End Sub

Ansonsten musst Du Fehler schon genauer beschreiben:
Zitat:Hm. So geht das nicht, zu viele Kommentarzeichen?
So geht das nicht. Zu wenige Informationen. Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#9
Hallo ihr 2,

schönen So, da habe ich jetzt was zu tun...

Melde mich wieder, wenn getestet. Danke.
Grüße, Charly
Antworten Top
#10
Photo 
Jetzt wirds aber schon arg komisch, das ist nicht das 1. Mal: der Folder existiert nicht - Meldung bei mir.

Jetzt müssen wir wohl mal darüber nachdenken, was bei meinem Excel nicht stimmt, muss ich irgendwas freischalten?

Ich habe auf einem 2. NB Office365 - da wollte ich ursprünglich mal hin umziehen - da werde ich das nochmal probieren. Dazu muss ich aber die beiden Ordnerstrukturen erstellen, kopieren, und das dauert wohl ein wenig...

Aber vielleicht weiß ja jemand von Euch, was bei meinem Excel2007 nicht "stimmt", kann ja nicht sein, dass solche Construkte bei vielen laufen nur beim mir nicht. Muss also den Fehler wohl bei mir suchen. Nur wo?
Grüße, Charly
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste