Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1120to1124
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

Arbeitsblätter Öffnen Schleife

Arbeitsblätter Öffnen Schleife
carstma
Guten Abend....
Habe folgende Mappen: LS00001.xls, LS00002.xls, LS00003 usw. 20000Stück
Jede datei beinhaltet die gleiche Struktur und ein gleiches Makro
Ziel: Möchte die Mappen nacheinander mit einer Schleife die 1. Datei öffnen, dann die Makros entfernen, an einer anderen Stelle unter gleichem Namen abspeichern, dann die 2. Öffnen usw. usw.
Kann mir jemand helfen, Ich finde nichts passsendes (bin nur Makrozusammenstückler...)
Vielen Dank im Voraus!!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Arbeitsblätter Öffnen Schleife
03.12.2009 19:41:50
Josef
Hallo Carsten,
20000 Dateien? Das kann aber dauern!
Teste den Code erstmal an ein paar Dateien.
' **********************************************************************
' Modul: Modul3 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub saveFilesWithoutCode()
  Dim objWB As Workbook
  Dim strPath As String, strNewPath As String, strFile As String
  
  On Error GoTo ErrExit
  GMS
  
  strPath = "E:\Temp\" 'Verzeichnis - Anpassen!
  
  strNewPath = "E:\Temp\Test" 'Speicherpfad - Anpassen!
  
  If Right(strPath, 1) <> "\" Then strPath = strPath & "\"
  
  If Right(strNewPath, 1) <> "\" Then strNewPath = strNewPath & "\"
  
  strFile = Dir(strPath & "*.xls*", vbNormal)
  
  Do While strFile <> ""
    Set objWB = Workbooks.Open(strPath & strFile)
    deleteAllCodeAndModules objWB
    objWB.SaveAs strNewPath & strFile
    objWB.Close
    strFile = Dir
  Loop
  
  ErrExit:
  With Err
    If .Number <> 0 Then MsgBox "Fehler " & .Number & vbLf & vbLf & _
      .Description & vbLf & vbLf & "In Prozedur (saveFilesWithoutCode) in Modul Modul3", _
      vbExclamation, "Fehler in Modul3 / saveFilesWithoutCode"
  End With
  
  GMS True
  
  Set objWB = Nothing
End Sub

Sub deleteAllCodeAndModules(ByRef WBook As Workbook)
  Dim objVBComp As Object
  With WBook.VBProject
    For Each objVBComp In .vbcomponents
      If objVBComp.Type = 100 Then
        With .vbcomponents(objVBComp.Name).CodeModule
          .DeleteLines 1, .CountOfLines
        End With
      Else
        .vbcomponents.Remove objVBComp
      End If
    Next
  End With
End Sub

Sub GMS(Optional ByVal Modus As Boolean = False)
  
  Static lngCalc As Long
  
  With Application
    .ScreenUpdating = Modus
    .EnableEvents = Modus
    .DisplayAlerts = Modus
    .EnableCancelKey = IIf(Modus, 1, 0)
    If Not Modus Then lngCalc = .Calculation
    If Modus And lngCalc = 0 Then lngCalc = -4105
    .Calculation = IIf(Modus, lngCalc, -4135)
    .Cursor = IIf(Modus, -4143, 2)
    
  End With
  
End Sub

Gruß Sepp

Anzeige
AW: Arbeitsblätter Öffnen Schleife
03.12.2009 21:58:09
carstma
Hallo Sepp,
Danke, geht aber leider nicht kommt immer Fehlermeldung....
Gruß
Carsten
AW: Arbeitsblätter Öffnen Schleife
03.12.2009 22:04:35
Josef
Hallo Carsten,
unter Extras > Makros > Sicherheit > Vertrauenswürdige Herausgeber, muss der Haken
bei "Zugriff auf Visual Basic-Projekt zulassen" gesetzt sein und die VBA-Projekte dürfen nicht
geschützt sein.
Gruß Sepp

AW: Arbeitsblätter Öffnen Schleife
03.12.2009 22:26:12
carstma
Erstmal vielen Dank Sepp !!
Wenn man die Zeile
deleteAllCodeAndModules objWB "stilllegt"
dann kopiert das proggi die Dateien schön ins andere Verzeichnis aber natürlich mit Makro
ansonsten Absturz an der Stelle
Ich hab leider keine Idee
Weißt Du oder Ihr anderen noch was?
Anzeige
AW: Arbeitsblätter Öffnen Schleife
03.12.2009 22:36:47
carstma
Faschmeldung Funktioniert wunderbar!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Allerdigs ist mein Makro mit einem Password geschützt....
Ist mir natürlich bekannt
Wie bekomme ich das raus in welche Schleife muß da noch was rein.... hoffendlich geht das?
Gruß Carsten
AW: Arbeitsblätter Öffnen Schleife
03.12.2009 23:13:16
Josef
Hallo Carsten,
das geht nur mit "SendKeys" und da lass ich die Finger davon.
In der Recherche findest du aber sicher genügend Beispiele.
Gruß Sepp

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige