Fuer absolute Profis - bedingter Druckauftrag

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


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Fuer absolute Profis - bedingter Druckauftrag
von: Hermann Niedernolte
Geschrieben am: 25.06.2002 - 18:30:44

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

nach oben   nach unten

Re: Fuer absolute Profis - bedingter Druckauftrag
von: Stefan Teschendorff
Geschrieben am: 25.06.2002 - 21:55:44

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.

nach oben   nach unten

Re: Fuer absolute Profis - bedingter Druckauftrag
von: th.heinrich
Geschrieben am: 25.06.2002 - 23:09:26

hallo Hermann u. Stefan,

vielleicht ist hier was dabei. gefunden ueber RECHERCHE.

https://www.herber.de/cgi-bin/searchstruct.pl?begriff=Timer

gruss thomas

nach oben   nach unten

Re: Fuer absolute Profis - bedingter Druckauftrag
von: PeterW
Geschrieben am: 25.06.2002 - 23:22:55

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


nach oben   nach unten

Na dann probier ich doch mal:
von: Ramses
Geschrieben am: 25.06.2002 - 23:28:11

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

nach oben   nach unten

Re: Fuer absolute Profis - bedingter Druckauftrag
von: Hermann
Geschrieben am: 26.06.2002 - 18:02:35

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


nach oben   nach unten

Re: Na dann probier ich doch mal:
von: Hermann
Geschrieben am: 26.06.2002 - 18:18:43

Danke fuer die Hilfe, werde es heute mal testen.

Gruss
Hermann


nach oben   nach unten

Re: Na dann probier ich doch mal:
von: Hermann
Geschrieben am: 26.06.2002 - 20:31:09

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.

nach oben   nach unten

Re: Fuer absolute Profis - bedingter Druckauftrag
von: Hermann
Geschrieben am: 26.06.2002 - 20:32:51

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

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Fuer absolute Profis - bedingter Druckauftrag"