ironheart
Goto Top

Geburtstage aus Excel auslesen und in Word Glückwunschschreiben erstellen

Hallo, ich stehe vor folgender Aufgabe: Ich soll mit Hilfe von VBScript aus einer Excel Tabelle in der es die Felder Name, Vorname,Geburtsdatum und Geschlecht gibt, überprüfen, ob eine Person aus dieser Liste am aktuellen Tag Geburtstag hat und wenn ja, sollen die Daten in ein grob vorgefertigtes Glückwunschschreiben in Word eingefügt werden, so in dem Sinne: Sehr geehrte Frau XY, hiermit gratuliere ich Ihnen zu Ihrem X. Geburtstag recht herzlich - wobei die Rohform im Prinzip so aussieht, weil der rest ja Geschlecht- bzw Personenabhängig ist: Sehr, hiermit gratuliere ich Ihnen zu Ihrem . Geburtstag recht herzlich.

Wäre für Hilfe dankbar.

Christian

Content-Key: 48131

Url: https://administrator.de/contentid/48131

Ausgedruckt am: 29.03.2024 um 14:03 Uhr

Mitglied: Biber
Biber 07.01.2007 um 02:47:42 Uhr
Goto Top
Moin IronHeart,

gratuliere zu der Aufgabe.

Rückfrage:

Wieso VBScript? Oder meinst Du VBA?
Und was davon hast Du schon fertig bzw. wo genau klemmt es?

Sollen wir Dir jetzt bei der Aufwandsschätzung helfen oder etwa die ganze Anforderung komplett umsetzen?
Was hast Du schon getan, um Dich der Thematik anzunähern?

Und WTF hat das mit "Betriebssystemen" zu tun?

Bitte etwas konkretisieren...

Gruß
Biber
Mitglied: Ironheart
Ironheart 07.01.2007 um 11:47:56 Uhr
Goto Top
Moin,
ich studiere nebenher noch Vermessung und im Fach Informatik sollen wir diese Aufgabe mit VbScript lösen. Mit VBA habe ich schon gearbeitet, damit komme ich klar, nur mir fehlt der zugang zu VBScript, habe mir ein Buch über VbScript geholt, aber irgendwie fehlt mir der zugang. Ich habe schon den Ehrgeiz die Aufgabe selbst zu lösen, nur fehlen mir einfach die Ansätze.

Ich wusste nicht so recht wohin mit dem Thema und da VbScript zur Steuerung des Betriebsystems verwendet wird, habe ich das ganze in dem Bereich erstellt.

Gruß
Christian
Mitglied: Ironheart
Ironheart 07.01.2007 um 16:47:59 Uhr
Goto Top
Mittlerweile habe ich doch was zustande gebracht:

Set xlObj = createObject("Excel.application")
xlObj.Visible = false
xlObj.Workbooks.open "c:\test.xls"
xlObj.Range("C2").select

For each Zelle in xlObj.Range("C2:C6")
If Month(Zelle.Value) = Month(Date()) then
If Day(Zelle.Value) =Day(Date()) then
Vorname = Zelle.Offset(0,-2).Value
Nachname = Zelle.Offset(0,-1).Value
Alter = Zelle.Offset(0,1).Value
If Zelle.Offset(0,2).Value = "männlich" then _
Anrede = "Lieber" else _
Anrede = "Liebe"
End if
Set docObj = createObject("Word.application")
docObj.Visible = True
docObj.Documents.Open "c:\test.doc"

End if
Next
xlObj.Workbooks.Close
xlObj.Quit

Ich würde den Zugriff auf die Excel Datei gerne anders gestalten und zwar soll die Datei nur gelesen werden ohne dass sie geöffnet wird. In dem Buch dass ich habe ist das ganze für Access Datenbanken beschrieben, ich schaffe es aber nicht das für Excel umzusetzen.

Die Excel Tabelle sieht so aus:
Vorname Name Geburtsdatum Alter Geschlecht
Hans Schmitz 07.01.2007 0 männlich
Frida Müller 04.03.1980 27 weiblich
Peter Meier 05.05.1966 41 männlich
Josef Lieber 19.10.1952 55 männlich
Petra Schmidt 23.11.1999 8 weiblich

Das Word Dokument so:


Zu Deinem . Geburtstag gratuliere ich Dir recht herzlich und wünsche Dir Alles Gute, Glück und Gesundheit auch im Namen aller Mitarbeiter.

Freundliche Grüße
Peter Muster


Christian
Mitglied: Desperado
Desperado 15.01.2007 um 19:11:11 Uhr
Goto Top
du kannst per adodb auf excel zugreifen wie auf andere datenbanktypen. ansonsten kommst du nicht drumherum das excel aufzumachen. was ist aber so schlimm daran? mach es visible = false und vor allen dingen schliesse das objekt wieder zum schluss, sonst bleibt der prozess hängen...