Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
128to132
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
128to132
128to132
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fuer absolute Profis - bedingter Druckauftrag

Fuer absolute Profis - bedingter Druckauftrag
25.06.2002 18:30:44
Hermann Niedernolte
Hallo,

fuer folgendes Problem suche ich eine Loesung, falls es ueberhaupt moeglich ist:

Ich moechte gerne eine Datei alle zehn Minuten einlesen. Diese Datei wird von einem anderen Programm in der selben Zeit staendig aktualisiert. Sie gibt eine Messreihe aus und bei jeder Aktualisierung fuegt das Programm eine neue Zeile ein.
So, um diese Daten zu sichern, sollen sie ausgedruckt werden. Sobald eine neue Zeile eingelesen wird, moechte ich sie ausdrucken. Da ich aber nicht fuer jede Zeile ein ganzes Blatt benoetige, moechte ich dem Drucker zeilenweise Auftraege zukommenlassen. Erst bei einer Abbruchbedingung soll er das Blatt ausgeben. Ich hoffe, Du verstehst mein Problem. Gerne stehe ich auch fuer Reuckfragen zur Verfuegung. In der Hoffung, diese Problem zu loesen verbleibe ich mit

Viele Gruesse
Hermann

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Fuer absolute Profis - bedingter Druckauftrag
25.06.2002 21:55:44
Stefan Teschendorff
Hallo Hermann,

Es ist leider so das es in VBA keine Timer gibt. In VB sind sie vorhanden.
Ein Timer wird dafür benötigt in einem Vorgegebenen Intervall eine Programm aufzurufen.
Wir habe also ein unlösbares Problem mit alle 10 Min, Lösung war hier du würdest alle 10 Min. auf eine Button drücken, klicken oder was auch immer. Will sagen du mußtest das Programm von Hand starten.

Die Sache mit dem ganzem Blatt ausdrucken läßt sich realisieren.
Ich würde die Daten auf deiner Platte speichern und sobald eine Seite voll ist würde der Druck erfolgen.

Es ist mir bewußt das es sich hier um keine Lösung für dein Problem handelt. Aber ich glaube das ein Hinweis auf ein unlösbares Problem auch weiter hilft.

CU Stefan

PS: Ich spreche hier aus eigener Erfahrung. Sollte es doch eine Möglichkeit geben ( alle 10 Min ) würde ich mich gegebenenfalls über eine Info freuen.

Anzeige
Re: Fuer absolute Profis - bedingter Druckauftrag
25.06.2002 23:22:55
PeterW
Hallo Stefan,

bin zwar noch immer fortgeschrittener Anfänger aber könnte nicht folgendes gehen?

Mit Workbook open einer Public Variablen die Uhrzeit mitgeben und dann über beispielsweise Worksheet change die Differenz bestimmen?

Ist zwar ne Krücke aber manchmal geht es eben nicht ohne.

Gruß
Peter

Na dann probier ich doch mal:
25.06.2002 23:28:11
Ramses
Hallo Hermann,

der Code ist ungetestet weil ich nicht weiss was dein Makro beim einlesen macht.

Zum testen würde ich die Waittime vielleicht auf "00:00:10" = 10 Sekunden einstellen.
Beim abbrechen muss die ESC-Taste schon ein bischen länger gedrückt werden :-)

Es wird davon ausgegangen, dass die Daten in das aktive Blatt eingelesen werden und die Daten in Zeilen ab Spalte A eingetragen werden.

Der Druckauftrag wird ausgegeben wenn jeweils eine Seite voll ist, d.h. ich habe jetzt mal 75 Zeilen angenommen ( If Cr Mod 75 ).
Es wird immer nur die neue Seite gedruckt.


Sub DemoTimer()
Dim Waittime As String, WaitValue As Integer
Dim myPage As Integer
Dim Cr As Long
On Error GoTo DemoTimerError
'1. Druckseite definieren
myPage = 1
'ESC als Abbruchtaste erlauben
Application.EnableCancelKey = xlErrorHandler
'Wartezeit
WaitValue = 10
'Zeit erstellen
Waittime = "00:10:00"
'Erste leere Zelle in Spalte A ( = 1) finden
Cr = 65536
If Cells(Cr, 1) = "" Then
Cr = Cells(Cr, 1).End(xlUp).Row
End If
'144 = 24 Stunden * 10 Minuten
For i = 1 To 144
'Warte Zielzeit berechnen
Waittime = Now() + TimeValue(Waittime)
Do Until Now() = Waittime
'Eingaben während des Makrolaufes erlauben
DoEvents
Loop
Cr = Cr + 1
'Hier kommt der Befehl deine Datei einzulesen
'Cells(cr,xxxxxx
'Wenn der Teiler 0 ist, wird ein Druckauftrag gelöst
If Cr Mod 75 = 0 Then
'Druckauftrag beginnen
ActiveSheet.PrintOut from:=myPage, To:=myPage
myPage = myPage + 1
End If
Next i
DemoTimerExit:
Exit Sub

DemoTimerError:
MsgBox "Makro abgebrochen"
Resume DemoTimerExit
End Sub


Code eingefügt mit Syntaxhighlighter 1.12

Gruss Rainer

Anzeige
Re: Fuer absolute Profis - bedingter Druckauftrag
26.06.2002 18:02:35
Hermann
Hallo Stefan,

danke fuer die Info. Wahrscheinlich wird es auch genuegen, den Ausdruck immer fuer ein Blatt durchzufuehren, das entspricht in etwa einem Tag.

Thanks
Hermann

Re: Na dann probier ich doch mal:
26.06.2002 18:18:43
Hermann
Danke fuer die Hilfe, werde es heute mal testen.

Gruss
Hermann

Re: Na dann probier ich doch mal:
26.06.2002 20:31:09
Hermann
Folgenden Code habe ich auch noch gefunden, fall es Dich interessiert:

Dim NextTime As Date

Sub BerechnenStart()
Application.Calculation = xlManual
NextTime = Now + TimeValue("00:00:05")
Application.Calculate
Application.OnTime NextTime, "BerechnenStart"
End Sub

Sub BerechnenStop()
On Error GoTo ErrorHandler
Application.Calculation = xlAutomatic
Application.OnTime Now, "BerechnenStart", schedule:=False
End
ErrorHandler:
Call BerechnenStop
End Sub

Anstelle von Berechnen fuege ich das Oeffnen ein.

Anzeige
Re: Fuer absolute Profis - bedingter Druckauftrag
26.06.2002 20:32:51
Hermann
Folgendes muesste funktionieren:

Dim NextTime As Date

Sub BerechnenStart()
Application.Calculation = xlManual
NextTime = Now + TimeValue("00:00:05")
Application.Calculate
Application.OnTime NextTime, "BerechnenStart"
End Sub

Sub BerechnenStop()
On Error GoTo ErrorHandler
Application.Calculation = xlAutomatic
Application.OnTime Now, "BerechnenStart", schedule:=False
End
ErrorHandler:
Call BerechnenStop
End Sub

Habe ich in der Recherche gefunden>
Gruss
Hermann

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige