Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Automatische Erinnerung an Geburtstage

Frage Microsoft Microsoft Office

Mitglied: RhoLeonis

RhoLeonis (Level 1) - Jetzt verbinden

24.11.2009 um 13:40 Uhr, 11912 Aufrufe, 10 Kommentare

Hallo!!

Ich habe mal wieder ein spezielles Problem. Ich habe eine Excel-Tabelle mit etwa 250 Datensätzen, die Name und Geburtstag von bestimmten Person beinhalten. Ich möchte nun irgendwie erreichen, dass ich an dem jeweiligen Tag erinnert werde, wenn eine dieser Personen Geburtstag hat. Wie das technisch umgesetzt wird, ist zunächst einmal egal. Ideal wäre eine Art täglicher Statusreport mit den jeweiligen Geburtstagen.

Mir ist bewusst, dass ich mich über die Kalenderfunktion von Outlook erinnern lassen kann. Dies ist allerdings aus zwei Gründen unpraktikabel. Zum einen möchte ich den Inhalt der Tabelle nicht in meinen Outlook-Kalender übertragen müssen. Zum anderen finde ich es sehr unübersichtlich, wenn ich jeden Morgen mehrere Erinnerugen bekomme. Da wäre ein o.g. Statusreport schon netter.

Umzusetzen sollte das ganze entweder mit einem Office-Produkt (ich hatte in dem Zusammenhang schon mal was von InfoPath gehört) oder mit einem kostenlosen Zusatztool oder am besten mit Windows-Bordmitteln. Zur Info: Ich habe Windows Vista oder XP und dazu Office 2007.

Danke für jeden Hinweis!!
Mitglied: nube-li
24.11.2009 um 13:43 Uhr
hi

Wenn dann sonst abfragen einbauen..

If geburtstagsfeld/spalte/zeile/whatever =(HEUTE) then Rot hinterlegt else nada

Hoffe du kommst weiter..

Edit:

http://www.bilderload.com/bild/18933/200911241414047PEVE.jpg

Zelle D3 "=HEUTE()"

Spalte "Geburtsdatum" mit "Format" -> "Bedingte Formatierung" formatiert

Greez
Bitte warten ..
Mitglied: TsukiSan
25.11.2009 um 02:56 Uhr
ich weiß nicht, wie die Excel-Spalten/-Zeilen bei dir aufgebaut sind, aber
so wie nube-li es schon angesetzt hat, kann man sich die Meldungen auf den
Monitor bringen lassen.
Du kannst nach dem booten ein Script laufen lassen, was die Excel-Datei kurz
durchliest, und alle Einträge, welche mit dem "heutigen" Tag im Einklang des Geburtstages stehen,
als Nachricht ausgeben lassen.
Das ginge zum Beispiel mit VBS- Ist ein Boardmittel und kostet nix

Gruss
Tsuki
Bitte warten ..
Mitglied: RhoLeonis
25.11.2009 um 08:53 Uhr
Hey... zunächst danke für die Hinweise.

Ich habe soweit einen Ansatz gefunden. Über den Windows-Aufgabenplaner kann ich mir täglich eine Mail zusenden lassen. Damit könnte ich auch einen Anhang verschicken, also z.B. die Tabelle. Die Idee, mit VB täglich die Tabelle zu filtern und dann die gefilterte Version zu versenden, hatte ich auch schon. Das Problem ist, dass ich in VB nicht so wirklich fit bin. Gibt es dazu vorgefertigte Scripts?!

Danke und Gruß zurück!!
Bitte warten ..
Mitglied: TsukiSan
26.11.2009 um 02:45 Uhr
hi RhoLeonis,

Du musst den Pfad und den Dateinamen der Excel-Datei anpassen, die Spalte, wo die Geburtstage stehen anpassen
und du weißt genau, wo die Namen stehen, in welcher Spalte.
in VBS sieht das zum Beispiel dann so aus:
01.
Dim MyPfad 
02.
Dim Zeile 
03.
Dim GebDatum(1000) 
04.
 
05.
MyPfad = "C:\Geburtstags.xls" 
06.
Zeile = 1 
07.
 
08.
Set objXLS = WScript.CreateObject("Excel.Application") 
09.
objXLS.Workbooks.Open MyPfad 
10.
objXLS.Visible = False 
11.
 
12.
for i = 1 to 1000 
13.
	Zeile = i 
14.
	GebDatum(i) = OBJXLS.Range("A" & Zeile).Text 
15.
	If mid(GebDatum(i),1,5)  = mid(Date,1,5) then 
16.
		 'Anweisung 
17.
	End If 
18.
next 
19.
 
20.
objXLS.Quit 
21.
 
22.
Set objXLS = nothing
in diesem Schnipsel wird die Reihe "A" von den Zeilen 1 bis 1000 in ein Array (GebDatum) eingelesen und mit dem aktuellen Datum verglichen. In meinem Beispiel gehe ich davon aus, dass dein Datumsformat TT.MM.JJJJ ist, dass heisst es werden nur TT.MM. miteinander verglichen. Das macht die "Mid-Funktion".

Wenn du Lust hast, dir was in VBS zu programmieren und noch Fragen hast, dann poste weiter.

Gruss
Tsuki
Bitte warten ..
Mitglied: RhoLeonis
26.11.2009 um 11:30 Uhr
Hi Tsuki...

vielen Dank für das Script. Ich habe das mal ausprobiert, aber irgendwie läuft es noch nicht rund. Da ich VBS-DAU bin, kann es aber sein, dass ich was übersehen habe. Also hier ganz genau die Schritte, die ich gemacht habe:
- neue Textdatei erstellt, als test.vbs umbenannt und den Quelltext hineinkopiert
- Pfad, Dateiname und Spaltennamen angepasst
- Doppelklick auf test.vbs und es passiert scheinbar gar nix

Für mich stellt sich zunächst die Frage, wo das Ergebnis ausgegeben werden soll. In der ursprünglichen Tabelle oder in einer neuen?

Bin gerne bereit, mehr in VBS zu machen. Daher wäre das ein schöner Einstieg. Also wäre ich für weitere Hilfen dankbar...

Gruß
Rho Leonis
Bitte warten ..
Mitglied: nube-li
26.11.2009 um 13:35 Uhr
Hi

Gib mal statt ' Anweisung "MsgBox("Jemand hat Geburtstag") ein
sprich:

01.
If mid(GebDatum(i),1,5)  = mid(Date,1,5) then  
02.
   MsgBox("jemand hat Geburtstag") 
03.
else 
04.
   MsgBox("niemand hat geburtstag") 
05.
End If
Anweisung ist, was das Script machen soll wenn jemand Geburtstag hat

Gruss
Bitte warten ..
Mitglied: TsukiSan
27.11.2009 um 14:32 Uhr
@RhoLeonis,

wie nube-li schon geschrieben hat fügst du in Zeile 16 meines Scriptes seine Zeilen ein.
01.
'Anweisung
it auskommentiert und an dieser Stelle kannst du eintragen, welche Aktionen in deinem Script dann ausgeführt werden sollen.
Das kann eine Messagebox üblicherweise sein.
Ich habe mein Beispielscript mal etwas angepasst. Du musst dann nochmals deine Änderungen übernehmen!
01.
Dim MyPfad 
02.
Dim Zeile 
03.
Dim GebDatum(20) 
04.
Dim GebNamen(20) 
05.
 
06.
MyPfad = "C:\Geburtstags.xls" 
07.
Zeile = 1 
08.
 
09.
Set objXLS = WScript.CreateObject("Excel.Application") 
10.
objXLS.Workbooks.Open MyPfad 
11.
objXLS.Visible = False 
12.
 
13.
GebNamen(1) = "Leider niemand :-(" 
14.
for i = 1 to 20 
15.
	Zeile = i 
16.
	GebDatum(i) = OBJXLS.Range("A" & Zeile).Text 
17.
	If mid(GebDatum(i),1,5)  = mid(Date,1,5) then 
18.
		GebNamen(1) = "" 
19.
		GebNamen(i) = OBJXLS.Range("B" & Zeile).Text & vbCrLf 
20.
	End If 
21.
next 
22.
 
23.
Ausgabe = "Heute Haben Geburtstag:" & vbCrLf & "*********************" & vbCrLf & Join(GebNamen,"") 
24.
 
25.
wscript.Echo Ausgabe 
26.
 
27.
objXLS.Quit 
28.
Set objXLS = nothing
Gruss
Tsuki
Bitte warten ..
Mitglied: RhoLeonis
30.11.2009 um 08:04 Uhr
Ich bin begeistert. Das funktioniert so schon wunderbar und prinzipiell genau so, wie ich es gerne hätte...

Also erstmal herzlichen Dank!!

Perfekt wäre es, wenn die Ausgabe in irgendeiner Form per E-Mail versendet werden könnte. Also die Ausgabe entweder direkt in eine neue E-Mail oder in eine Datei, die dann versendet wird. Wenn das funktionieren sollte, wäre es perfekt. Wenn nicht, bin ich aber auch so schon sehr zufrieden...
Bitte warten ..
Mitglied: TsukiSan
30.11.2009 um 14:13 Uhr
also, du deklarierst am Anfang folgende Zeilen:
01.
    Set myOutlock = CreateObject("Outlook.Application") 
02.
    Set item = myOutlock.CreateItem(0) 
03.
    With item 
04.
        .Subject = "Geburtstage" 
05.
        .To = "MeineAdresse@Email.de" 
06.
    End With
dann fügst du in deiner Abfrage, ob jemand heute Geburtstag hat folgenden Code ein:
01.
With item 
02.
        .Body = .Body & GebNamen(i) 
03.
End With
und ganz ziemlich "unten", wenn dein Programm alle Daten aus deiner ExcelDatei ausgelesen hat, noch folgendes:
01.
Item.Send
Dann öffnen dein Outlook (Standart Outlook!) und schaue dir deinen Postausgang an.

Gruss
Tsuki
Bitte warten ..
Mitglied: RhoLeonis
01.12.2009 um 15:28 Uhr
Vielen Dank nochmal. Das hat mir sehr weitergeholfen....
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail
Automatische Antwort Email Exchange Oulook (3)

Frage von kingsepp zum Thema Outlook & Mail ...

Windows 10
Windows 10 automatische Akzentfarbe Registry,GPO (1)

Frage von D-Line zum Thema Windows 10 ...

Bibliotheken & Toolkits
Jira 7.3.1 Automatische Usereinrichtung (3)

Frage von Boysgang zum Thema Bibliotheken & Toolkits ...

Windows Userverwaltung
gelöst Windows - automatische Lautstärkenanpassung per GPO (2)

Frage von m.blackman zum Thema Windows Userverwaltung ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(6)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...