Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Csv Datei Tonerwerte prüfen und unter 30 Prozent Emailmeldung

Mitglied: LordKingPin

LordKingPin (Level 1) - Jetzt verbinden

16.07.2010 um 22:30 Uhr, 2976 Aufrufe, 2 Kommentare

Hallo,

Ich habe eine Tabelle genannt Toner.csv die so aus sieht:

Device,Serial Number,Location,Toner Level / Black,Toner Level / Cyan,Toner Level / Magenta,Toner Level / Yellow,
FS-1118MFP,XLK5505XXX,," 6%",,,,
TASKalfa 300ci,QJE8Z00XXX,," 22%"," 37%"," 39%"," 39%",
FS-3900DN,XLN6Z39XXX,," 25%",,,,
Canon iR-ADV C5030,ETF01XXX,," 56%"," 31%"," 31%"," 25%",

Einmal am Tag erhalte ich eine neue Tabelle wo ich im Prinzip immer per Hand kontrolliere, welche Maschine unter 30% Toner hat.
Dementsprechend bestelle ich den Toner und notiere mir das in einer Liste.
Am nächsten Tag das gleiche spielchen wieder von vorn mit einer aktuellen csv nur muß ich dabei jedes mal an die Maschinen denken für die ich bereits einen Toner bestellt habe.
Diesen Vorgang würde ich gerne automatisieren,
so dass ich die Datei nur quasi "einlesen" muß und ein Script/programm das kontrolliert und mich dementsprechend via Email benachrichtigt ob ein Wert unter 30% ist und wenn ja welche Maschine/Toner genau.

Da einmal am Tag eine aktuelle Toner.csv eingelesen werden soll, sollte ich keine Email von einer Maschine bekommen die am Vortag schon gemeldet wurde.
Jedoch sobald der Wert wieder über 90% ist,darf mir wieder bez. dieser Maschine eine Email geschickt werden.


Ist sowas irgendwie realisierbar? Ich habe null Plan wie ich das umsetzen könnte.
Bin für jede Hilfe dankbar.

kind regards
LordKingPin
Mitglied: bastla
17.07.2010 um 12:57 Uhr
Hallo LordKingPin!

Nicht zuletzt aufgrund der Formatierung der Tonerwerte (Anführungs- und Prozentzeichen) würde ich in diesem Fall zu VBS greifen - etwa so:
01.
Toner = "D:\Toner.csv" 
02.
Bestellt = "D:\Bestellt.txt" 
03.
Bestellen = 30 'Grenzwert für Nachbestellung 
04.
Geliefert = 90 'Grenzwert für "wieder da" 
05.
 
06.
Set fso = CreateObject("Scripting.FileSystemObject") 
07.
T = Split(fso.OpenTextFile(Toner).ReadAll, vbCrLf) 'Toner-Datei einlesen und zeilenweise in Array schreiben 
08.
 
09.
Header = Split(T(0), ",") 'Spaltenüberschriften (Toner-Bezeichnung) einlesen 
10.
 
11.
If fso.FileExists(Bestellt) Then 'Wenn Bestelllisten-Datei vorhanden, ... 
12.
    Set Best = fso.OpenTextFile(Bestellt, 1, True) 
13.
    If Not Best.AtEndOfStream Then B = Best.ReadAll  '... gesamte Bestellliste aus Datei lesen 
14.
    Best.Close 
15.
End If     
16.
If B = "" Then B = vbCrLf 'Formatierung für Vergleich anpassen 
17.
 
18.
Mail = "" 'Variable für Mailtext 
19.
 
20.
For i = 1 To UBound(T) 'alle Druckerdatensätze (= ab Zeile 2 der .csv) durchgehen 
21.
    PrinterData = Split(T(i), ",") 'Datensatz des Druckers in Felder zerlegen 
22.
    Info = PrinterData(0) & "," & PrinterData(1) 'Drucker-Daten ("Device" und "Serial") in Variable schreiben 
23.
 
24.
    For j = 3 To 6 'Felder mit Toner-Info durchgehen 
25.
        If InStr(PrinterData(j), "%") > 0 Then 'Prozentsatz vorhanden? 
26.
 
27.
            Wert = CInt(Replace(Replace(PrinterData(j), "%", ""), """", "")) 'Prozentwert als Zahl ermitteln 
28.
            TonerDaten = Info & "," & Header(j) 'Daten für Toner zusammenstellen (Drucker-Daten + Toner-Name lt Spaltenüberschrift) 
29.
 
30.
            If Wert < Bestellen And InStr(B, TonerDaten) = 0 Then 'Grenzwert unterschritten und noch nicht in Liste? 
31.
                Mail = Mail & vbCrLf & TonerDaten 'in Mailtext ... 
32.
                B = B & vbCrLf & TonerDaten '... und Bestellliste aufnehmen 
33.
            End If 
34.
 
35.
            If Wert > Geliefert Then 'Grenzwert für "wieder da" überschritten? 
36.
                B = Replace(B, vbCrLf & TonerDaten, "") 'aus Bestellliste entfernen 
37.
            End If 
38.
 
39.
        End If 
40.
    Next 'Feld 
41.
 
42.
Next 'Satz 
43.
 
44.
fso.CreateTextFile(Bestellt).Write B 'Bestellliste in Datei schreiben 
45.
 
46.
If Mail <> "" Then 
47.
    WScript.Echo "Mail mit Inhalt:" & vbCrLf & vbCrLf & Mail & vbCrLf & vbCrLf & "versenden!" 
48.
End If
Die vorletzte Zeile dient nur als Demo; hier würde sich - je nach verwendetem Mailer - ev anbieten, den Inhalt der Variablen "Mail" in eine weitere Textdatei zu schreiben ...

Grüße
bastla
Bitte warten ..
Mitglied: LordKingPin
30.07.2010 um 01:27 Uhr
Hallo bastla,

Vielen Dank für den VBS Code, genau so etwas habe ich gesucht :o)
Das ganze funktioniert spitzenmässig
Leider lag ich die letzten Wochen Krankheitsbedingt flach, darum die späte Antwort.

Ich kämpfe noch etwas mit der Mail-Variablen. Habe Outlook 2007 im Einsatz.
Wenn jemand dafür noch einen Ansatz / Lösung hätte währe das spitzenmässig ;o)

Nochmals vielen herzlichen Dank für die Hilfe :o)

kind regards
LordKingPin
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Inhalt einer .csv mit PowerShell prüfen

gelöst Frage von Memo66Batch & Shell10 Kommentare

Hallo zusammen, ich bin noch bisschen am hin und her überlegen wie ich das Problem am besten löse: Ich ...

Outlook & Mail

CSV Datei exportieren

gelöst Frage von 117109Outlook & Mail1 Kommentar

Hallo Leute, mal eine Frage. Und zwar aus einer Ecel Datei wurde eine CSV Datei mit Kontaktenerstellt. Diese wurde ...

VB for Applications

Import von csv Dateien

Frage von KurinoKiVB for Applications6 Kommentare

Hallo, ich verwende bereits folgendes Skript für den Import meiner csv Dateien. Bei dem Import sollten die Spalten A, ...

Exchange Server

ActiveSync Report in CSV-Datei

gelöst Frage von Oneil-1989Exchange Server4 Kommentare

Hallo zusammen, ich wollte am Exchange ein auszug ziehen, welche Geräte per ActiveSync die Mails holen. Ich habe auch ...

Neue Wissensbeiträge
Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 4 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 17 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 19 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 19 StundenMicrosoft12 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server34 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1026 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...