WinBoard - Das Windows Portal

  
Zurück   WinBoard - Die Windows Community > Software > Office Produkte
Seite neu laden EXCEL mehrere Dateien mit mehreren Blättern drucken

Antwort Zwischen GELÖST und OFFEN wechseln
 
Themen-Optionen

Alt 06.10.2008, 18:34
  #11
Dienstleister / Moderator
 
Benutzerbild von Peter Schirmer
 
Status: Offline
Beiträge: 4.112
Registriert seit: 14.04.2006
Alter: 28
   
Nachtrag: Warum fügst du nicht einfach folgende Zeile ein und prüfst ganz simpel, welche Datei und welches Tabellenblatt gerade bearbeitet wird?


Zitat:
ub AlleDruckenneu()
Dim FileCounter As Integer
Dim I As Integer
Dim Ende As Integer

Application.ScreenUpdating = False
Application.EnableEvents = False
With Application.FileSearch
.LookIn = Range("A1").Value
.FileType = msoFileTypeExcelWorkbooks
.Execute
For FileCounter = 1 To .FoundFiles.Count
Workbooks.Open .FoundFiles(FileCounter), False
Ende = ActiveWorkbook.Sheets.Count
For I = 1 To Ende
MsgBox (ActiveWorkbook.FullName)
MsgBox (Worksheets(I).Name)
Worksheets(I).PrintPreview
Next I
ActiveWorkbook.Close savechanges:=False
Next FileCounter
End With
End Sub


__________________
Updates offline installieren? Jetzt hier die Final herunterladen (v2.1)! | Readme lesen | Wichtige "How-to's" findet ihr hier
     Mit Zitat antworten
Alt 09.10.2008, 16:16
  #12
Pentium II
 
Status: Offline
Beiträge: 317
Registriert seit: 23.01.2006
Themenstarter
   
Hiya!

Zitat:
Zitat von Peter Schirmer Beitrag anzeigen
Nachtrag: Warum fügst du nicht einfach folgende Zeile ein und prüfst ganz simpel, welche Datei und welches Tabellenblatt gerade bearbeitet wird?
Gute Idee!

Das habe ich jetzt mal probiert.
Folgendes Ergebnis:
Es werden mir die richtigen Tabellen in der Messagebox angezeigt.
Nur bekomme ich - wie schon vorher - zum einen in der Anzeige dann das Tabellenblatt in der Vorschau zu sehen, von wo ich das Makro aufrufe und zum anderen gibt es einen "Index Out Of Range" wenn eine Tabelle mit mehreren Blättern erreicht wird; hier bricht das Makro dann auch ab.

Also irgendwas läuft da bei mir noch falsch.

Bis dahin...
Kaller

P.S.: Sorry, bin etwas verspätet mit meiner Antwort.
     Mit Zitat antworten
Alt 09.10.2008, 16:27
  #13
Dienstleister / Moderator
 
Benutzerbild von Peter Schirmer
 
Status: Offline
Beiträge: 4.112
Registriert seit: 14.04.2006
Alter: 28
   
Zitat:
Zitat von kaller Beitrag anzeigen
[...]von wo ich das Makro aufrufe und zum anderen gibt es einen "Index Out Of Range" wenn eine Tabelle mit mehreren Blättern erreicht wird; hier bricht das Makro dann auch ab.
Das bestätigt meinen Verdacht, dass du ungeplant einen Wechsel der Fenster vornimmst. Die von ActiveWorkbook.Sheets.Count ermittelte Zahl (z.B. 5) wird dann auf die geringere Anzahl von Tabellenblätter (z.B. 3) angewendet.

Da wird der Haken liegen. Andernfalls würde ich mal mit F8 einzeln debuggen. Aufwendig aber sinnvoll.

Zitat:
P.S.: Sorry, bin etwas verspätet mit meiner Antwort.
Kein Problem.


__________________
Updates offline installieren? Jetzt hier die Final herunterladen (v2.1)! | Readme lesen | Wichtige "How-to's" findet ihr hier
     Mit Zitat antworten
Alt 09.10.2008, 16:36
  #14
Pentium II
 
Status: Offline
Beiträge: 317
Registriert seit: 23.01.2006
Themenstarter
   
Hiya!

Als Nachtrag:
Ich habe das gerade nochmals laufen lassen und muss mich ein wenig korrigieren:
die richtigen Tabellen werden angezeigt, aber als nächstes kommt die Meldung mit "Dateien drucken" und nicht der Name des Tabellenblatts - danach dann wieder die Vorschau.

Den Versuch des Debuggens werde ich wahrnehmen, damit ich rausfinde, wo der Haken ist.

Ergebnisse liefere ich dann sobald als möglich.

Bis dahin...
Kaller
     Mit Zitat antworten
Alt 09.10.2008, 17:05
  #15
Pentium II
 
Status: Offline
Beiträge: 317
Registriert seit: 23.01.2006
Themenstarter
   
Hiya!

Sorry, Doppelpost.

Jetzt läuft das ganze.
Habe nur eine kleine Erweiterung eingefügt, deren Idee ich den Messageboxen entnommen habe:

Code:
Sub AlleDruckenneu()
Dim FileCounter As Integer
Dim I As Integer
Dim Ende As Integer

   Application.ScreenUpdating = False
   Application.EnableEvents = False
   With Application.FileSearch
      .LookIn = Range("A1").Value
      .FileType = msoFileTypeExcelWorkbooks
      .Execute
      For FileCounter = 1 To .FoundFiles.Count
         Workbooks.Open .FoundFiles(FileCounter), False
            Ende = ActiveWorkbook.Sheets.Count
            For I = 1 To Ende
                ActiveWorkbook.Worksheets(I).PrintPreview
            Next I
         ActiveWorkbook.Close savechanges:=False
      Next FileCounter
   End With
End Sub
Mit dem kleinen Zusatz funktioniert das alles so, wie es soll.
Ich werde das trotzdem nochmals testen.

Besten Dank.

Bis dahin...
Kaller
     Mit Zitat antworten
Alt 09.10.2008, 17:09
  #16
Dienstleister / Moderator
 
Benutzerbild von Peter Schirmer
 
Status: Offline
Beiträge: 4.112
Registriert seit: 14.04.2006
Alter: 28
   
Zitat:
Zitat von kaller Beitrag anzeigen
Mit dem kleinen Zusatz funktioniert das alles so, wie es soll.
Ich werde das trotzdem nochmals testen.
Worksheets(I).xxx kann einen manchmal in Bedrängnis bringen. Daher ist eine robuste Angabe wie ActiveWorkbook.Worksheets(I).xxx besser. "xxx" bezeichnet dann die entsprechende Funktion.

Schön, dass es nun läuft.


__________________
Updates offline installieren? Jetzt hier die Final herunterladen (v2.1)! | Readme lesen | Wichtige "How-to's" findet ihr hier
     Mit Zitat antworten

  
Zurück   WinBoard - Die Windows Community > Software > Office Produkte
Seite neu laden EXCEL mehrere Dateien mit mehreren Blättern drucken


Antwort Zwischen GELÖST und OFFEN wechseln

Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are an
Refbacks are aus
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:35 Uhr.











Das WinBoard wird unterstützt von
OptimaNet & Hostfactory