Bitte Hilfe für Ausdruck von Dokumenten aus Excel

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox


Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Bitte Hilfe für Ausdruck von Dokumenten aus Excel
von: Klaus-Dieter
Geschrieben am: 14.05.2002 - 12:10:46

Hallo Zusammen,

kann mir jemand zur folgenden Thematik Hilfestellung geben?
Ich möchte aus Excel (VBA) über eine Drucksteuerung Word-Dokumente ausdrucken, die nach bestimmten Kriterien in bestimmten
Verzeichnissen gesucht werden. Eine Routine zum Drucken habe ich,nur ist mein Problem, dass die ausgedruckten Dateien danach direkt gelöscht werden sollen, da die Rechnerleistung zu schnell ist, kommt natürlich eine Fehlermeldung, dass das Dokument nicht gelöscht werden kann. Ich habe es zwar mit einem Timer versucht,nur sind die Ausdruckzeiten (durch Aufwärmphase oder Warteschlangen) eben unterschiedlich. Wer kann mir hier eine einfache Lösung anbieten? Es wäre mir auch egal, wenn ich für jedes Dokument per Makro Word öffnen und schließen müsste.
Für hilfreiche Tipps wäre ich sehr dankbar.

MfG

Klaus-Dieter


nach oben   nach unten

Re: Bitte Hilfe für Ausdruck von Dokumenten aus Excel
von: MRR
Geschrieben am: 14.05.2002 - 12:31:18

Also auf die Schnelle würde ich folgendes Vorgehen wählen:
Die erforderlichen Dateiname in ein Array einlesen.
Den Ausdruck der Daten aus diesem Array vornehmen.
Dann in einer Schleife die Löschungen vornehmen:

Hilft Dir das irgendwie weiter?
Matthias
nach oben   nach unten

AW: Datenfeld auch als Stringvariable möglich?
von: Klaus-Dieter
Geschrieben am: 14.05.2002 - 12:42:34

Danke erstmal Matthias, der Ansatz ist nicht schlecht, nur will ich ja eine Datei löschen, nich ein Feld. Kann ich denn der Variable Datenfeld auch den zu löschenden Dateinamen zuweisen, um die gewünschte Datei zu löschen? Ich müsste sie halt als String definieren.

Klaus-Dieter


nach oben   nach unten

Re: AW: Datenfeld auch als Stringvariable möglich?
von: MRR
Geschrieben am: 14.05.2002 - 12:51:32

Ich ging davon aus, dass sich die Dateinamen als Strings bereits in dem Datenfeld befinden. So würde Kill Datenfeld(15) die Datei löschen (oder es versuchen), die den Namen trägt, der im 15. (oder 16.) Element des Arrays angegeben. Wir löschen hier also KEINE DATENFELDER!
Vielleicht gibst Du uns noch mehr Infos, wo sich welche Dinge befinden. Ich kann erst wieder gegen Abend ein Statement abgeben...
Matthias

nach oben   nach unten

AN MATTHIAS -mehr Info von mir-
von: Klaus-Dieter
Geschrieben am: 14.05.2002 - 13:14:37

Hallo Matthias,

erstmal wieder recht vielen Dank für die Mithilfe. Ich erkläre die Thematik nochmal genauer:
Ich lese aus einem Verzeichnis die vorhandenen Dateien aus. Beispielsweise liegen 3 Dateien
Vor, dann sollen diese Dateien in einen jeweils separaten Ordner verschoben werden, der Ordnername wird aus dem Dateinamen ausgelesen und in einem Archiv-Verzeichnis erzeugt,
in diesen Ordner sollen die Dateien verschoben werden. Vor diesem Akt sollen die Dokumente
ausgedruckt werden. Die Dateien suche ich mit "For I = 1 To .FoundFiles.Count".

Gruß Klaus-Dieter

nach oben   nach unten

Re: AN MATTHIAS -mehr Info von mir-
von: MRR
Geschrieben am: 16.05.2002 - 06:21:35

Schick mir doch bitte mal die Datei zu, dann schaue ich es mir daheim in Ruhe an, melde mich wieder und poste den relevanten Code auch hier.
Bis später, Matthias

nach oben   nach unten

Re: Matthias -> Quellcode
von: Klaus-Dieter
Geschrieben am: 16.05.2002 - 08:10:24

Hi Matthias,

da ich nicht deine E-Mail-Adresse habe, zeige ich Dir hier den Code von dem einem Modul, in dem der Druckvorgang gestartet werden soll:

Sub Suchen()

Dim DateiName As String
Dim PortID As String
Dim BenGrp As String
Dim PfadUndDatei As String
Dim Jahr As String
Dim Monat As Double
Dim AMonat As String
Dim Tag As Double
Dim ATag As String
Dim BefDat As String
Dim pfad As String
Dim FBEPfad As String
Dim QuellDatPGP As String
Dim QuellDatDOC As String
Dim Zielpfad As String
Dim Wahl As String
Dim Letzte As Long
Dim datei As String
Dim PN As String
'Dim sFileName As String
'Dim wApp As New Word.Application
'Dim Start As Single

PN = "TRANSFER-TOOL"
datei = "Transfer-Tool.xls"
Set FBESuche = Application.FileSearch
PfadLZ = "J:\Projekte\Land_BW\LVN III Betrieb\Laufzettel\3.) Laufzettel"
pfad = "J:\Projekte\Land_BW\LVN III Betrieb\Laufzettel\"
FBEPfad = "J:\Projekte\Land_Bw\LVN III Betrieb\Laufzettel\4.) Funktionsbereitschaftserklärung\"
Jahr = Year(Date) 'Datum für Betreff generieren
Monat = Month(Date)
If Monat < 10 Then
AMonat = "0" & Monat
End If
Tag = Day(Date)
If Tag < 10 Then
ATag = "0" & Tag
Else
ATag = Tag
End If
Jahr = Right(Jahr, 2)
BefDat = Jahr & AMonat & ATag

With FBESuche
.LookIn = "J:\Projekte\Land_Bw\LVN III Betrieb\Laufzettel\4.) Funktionsbereitschaftserklärung"
.FileName = "FBE*.doc.pgp"
If .Execute > 0 Then
MsgBox "Es wurde(n) " & .FoundFiles.Count & " FBE(s) gefunden, die zur Versendung bereitstehen.", vbInformation, PN
For I = 1 To .FoundFiles.Count
.FileName = .FoundFiles(I)
PfadUndDatei = .FoundFiles(I)
DateiName = .FileName
PortID = Right(DateiName, 21)
BenGrp = Left(PortID, 4)
PortID = Right(PortID, 16)
PortID = Left(PortID, 8)
MkDir pfad & PortID
QuellDatPGP = "FBE_" & Jahr & AMonat & ATag & "_" & BenGrp & "_" & PortID & ".doc.pgp"
QuellDatDOC = "FBE_" & Jahr & AMonat & ATag & "_" & BenGrp & "_" & PortID & ".doc"
eMailAusExcelVersenden.eMailVersenden BefDat, BenGrp, PortID, PfadUndDatei
Zielpfad = pfad & PortID & "\"
FileCopy FBEPfad & QuellDatPGP, Zielpfad & QuellDatPGP
FileCopy FBEPfad & QuellDatDOC, Zielpfad & QuellDatDOC
' sFileName = FBEPfad & QuellDatDOC
' With wApp
' .Documents.Open sFileName
' .ActiveDocument.PrintOut
' Start = Timer ' Anfangszeit setzen.
' Do While Timer < Start + 40
' DoEvents ' Steuerung an andere Prozesse
' Loop
' .Quit
' End With
' Set wApp = Nothing
Kill FBEPfad & QuellDatPGP 'VORSICHT mit diesem Befehl!
Kill FBEPfad & QuellDatDOC 'löscht ohne zu fragen!
Workbooks(datei).Sheets(1).Activate
Letzte = ActiveSheet.UsedRange.Rows.Count
Workbooks(datei).Sheets(1).Cells(Letzte + 1, 1).Value = PortID
Workbooks(datei).Sheets(1).Cells(Letzte + 1, 2).Value = ATag & "." & _
AMonat & "." & Jahr
Workbooks(datei).Sheets(1).Cells(Letzte + 1, 3).Value = QuellDatDOC
Workbooks(datei).Sheets(1).Cells(Letzte + 1, 4).Value = QuellDatPGP
Next I
MsgBox "Es wurde(n) " & .FoundFiles.Count & " eMail(s) verschickt.", vbInformation, PN
Wahl = MsgBox("Sollen die Laufzettel jetzt automatisch in die Archiv-Ordner verschoben werden?", vbYesNo, PN)
If Wahl = vbYes Then
LaufzettelSuchenAblegen.Laufzettel
End If
MsgBox "Vergessen Sie nicht die FBEs und Laufzettel auszudrucken!", vbInformation, PN
Else
MsgBox "Es liegen keine FBEs zur Versendung vor!" & Chr(13) & Chr(13) & _
"Info:" & Chr(13) & Chr(13) & _
"Evtl. haben Sie vergessen, die Dateien zu verschlüsseln.", vbCritical, PN
End If
Workbooks(datei).Save
End With

End Sub

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Bitte Hilfe für Ausdruck von Dokumenten aus Excel"