Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1160to1164
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

kompletten Ordner kopieren Teil 2

kompletten Ordner kopieren Teil 2
Stefan
Hallo Zusammen, Hallo Josef,
dein Code klappt wunderbar außer exeldateien da schmiert mir immer mein exel ab? Kannst du mir evtl sagen woran das Liegt ? wie gesagt alles andere Funktioniert.
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub OrdnerDrucken(ByVal FolderName As String)
Dim objFiles() As Object, lngRet As Long, lngIndex As Long
lngRet = FileSearchINFO(objFiles, FolderName, "*.doc;*.pdf;*.xls;*.xla;*.xlt;*.tif;*.tiff;*.jpeg;*.jpg", SubFolders:=True)
If lngRet > 0 Then
For lngIndex = 0 To lngRet - 1
ShellExecute 0, "Print", objFiles(lngIndex), "", "", 0
Sleep 1000
Next
End If
End Sub

Private Function FileSearchINFO(ByRef Files() As Object, ByVal InitialPath As String, Optional _
_
ByVal FileName As String = "*", _
Optional ByVal SubFolders As Boolean = False) As Long
'# PARAMETERINFO:
'# Files: Datenfeld zur Ausgabe der Suchergebnisse
'# InitialPath: String der das zu durchsuchende Verzeichnis angibt
'# FileName: String der den gesuchten Dateityp oder Dateinamen enthält (Optional, Standard="*. _
_
*" findet alle Dateien)
'# Beispiele: "*.txt" - Findet alle Textdateien
'# "*name*" - Findet alle Dateien mit "name" im Dateinamen
'# "*.avi;*.mpg" - Findet .avi und .mpg Dateien (Dateitypen mit ; trennen)
'# SubFolders: Boolean gibt an, ob Unterordner durchsucht werden sollen (Optional, Standard= _
_
False)
Dim fobjFSO As Object, ffsoFolder As Object, ffsoSubFolder As Object, ffsoFile As Object
Dim intC As Integer, varFiles As Variant
Set fobjFSO = CreateObject("Scripting.FileSystemObject")
Set ffsoFolder = fobjFSO.GetFolder(InitialPath)
On Error GoTo ErrExit
If InStr(1, FileName, ";") > 0 Then
varFiles = Split(FileName, ";")
Else
ReDim varFiles(0)
varFiles(0) = FileName
End If
For Each ffsoFile In ffsoFolder.Files
If Not ffsoFile Is Nothing Then
For intC = 0 To UBound(varFiles)
If LCase(fobjFSO.GetFileName(ffsoFile)) Like LCase(varFiles(intC)) Then
If IsArray(Files) Then
ReDim Preserve Files(UBound(Files) + 1)
Else
ReDim Files(0)
End If
Set Files(UBound(Files)) = ffsoFile
Exit For
End If
Next
End If
Next
If SubFolders Then
For Each ffsoSubFolder In ffsoFolder.SubFolders
FileSearchINFO Files, ffsoSubFolder, FileName, SubFolders
Next
End If
If IsArray(Files) Then FileSearchINFO = UBound(Files) + 1
ErrExit:
Set fobjFSO = Nothing
Set ffsoFolder = Nothing
End Function

AW: kompletten Ordner kopieren Teil 2
04.06.2010 18:47:56
Stefan
ehrlich gesagt weil ich zu doof war in dem alten eine Antwort zu erstellen. Sorry aber ehrlich
AW: kompletten Ordner kopieren Teil 2
04.06.2010 19:30:07
Josef

Hallo Steffen,
hast du meinen zweiten Code probiert?

Gruß Sepp

Anzeige
AW: kompletten Ordner kopieren Teil 2
04.06.2010 19:53:25
Stefan
ja deinen 1 und 2. . es klappt ja auch alles super nur mit exeldateien zickt er rum und schmiert ab. kann das daran liegen das exel auf ist ? echt blöd das ich ohne exeldateien nichts damit anfangen kann. :-(
AW: kompletten Ordner kopieren Teil 2
04.06.2010 20:23:50
Josef

Hallo Stefan,
Excel muss wohl auf sein, sonst kannst du den Code ja nicht starten;-))
Also ich kann dein Problem nicht nachvollziehen, bei mir werden auch Exceldateien gedruckt.
Kann es sein das die Dazei die den Code enthält sich in dem Ordner befindet?
Wenn ja, dann versuch es so. (der restliche Code bleibt gleich)

Sub OrdnerDrucken(ByVal FolderName As String)
  Dim objFiles() As Object, lngRet As Long, lngIndex As Long
  Dim objWB As Workbook
  
  On Error GoTo ErrExit
  Application.ScreenUpdating = False
  lngRet = FileSearchINFO(objFiles, FolderName, "*.doc*;*.pdf;*.xls*", SubFolders:=False)
  
  If lngRet > 0 Then
    For lngIndex = 0 To lngRet - 1
      If objFiles(lngIndex).Type Like "Microsoft Excel*" Then
        If objFiles(lngIndex) <> ThisWorkbook.FullName Then
          Set objWB = Workbooks.Open(objFiles(lngIndex))
          objWB.PrintOut
          objWB.Close False
        End If
      Else
        ShellExecute 0, "Print", objFiles(lngIndex), "", "", 0
      End If
      Sleep 500
    Next
  End If
  
  ErrExit:
  Application.ScreenUpdating = True
  Set objWB = Nothing
End Sub

Gruß Sepp

Anzeige
AW: kompletten Ordner kopieren Teil 2
04.06.2010 20:36:32
Stefan
Habe dir mal die Datei auf den Server gelegt :-(

Die Datei https://www.herber.de/bbs/user/69904.xls wurde aus Datenschutzgründen gelöscht


AW: kompletten Ordner kopieren Teil 2
04.06.2010 20:53:03
Josef

Hallo Stefan,
hab mal meinen zweiten Code eingebaut, kann dein problem aber noch immer nicht nachvollziehen.
https://www.herber.de/bbs/user/69905.xls

Gruß Sepp

Anzeige
AW: kompletten Ordner kopieren Teil 2
04.06.2010 21:02:07
Stefan
ne klappt immer noch nicht. Habe zwei Rechner 1. Windows 7 und Office 2007 und der 2 hat xp und office 2003. leider klappt das auf beiden rechnern nicht,

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige