Die Trickkiste VBA von Office nutzen

Ich habe in den letzten Tagen zwei kleine VBA-Scripts (jeweils für Excel / Word) auf der Arbeit geschrieben. Ehrlich gesagt, hatte ich mich mit dem Thema VBA noch nicht groß beschäftigt, da ich aber schon lange mit Visual Basic programmiere, scheint es mir bisher kein Problem zu sein, sich schnell einzuarbeiten, da die Syntax recht ähnlich ist.

Das Makro für Excel ist eigentlich eher etwas rudimentär zu betrachten, da es eigentlich nur ein schlichter Namensabgleich in zwei verschiedenen Tabellen war, die bei Übereinstimmung den eindeutigen Hash in die andere Tabelle kopierte.

Mein zweites Makro, dass ich heute Morgen fertiggestellt habe, mit einigen guten Ansätzen und Problemlösungen durch den Freund WWW ;) , gefiel mir persönlich da besser.

Folgende Problemstellung gab es zu lösen: Eine Mitarbeiterin brauchte eine Lösung, damit sie Serienbriefe aus Word heraus als PDFs gedruckt bekommt. Eigentlich ja keine so dramatische Sache, allerdings steckt der Teufel im Detail. Will man das Serienhauptdokument mit all seinen Datensätzen drucken, so werden alle Datensätze in eine PDF-Datei geschrieben. Genau das sollte ja nicht passieren!

Also galt es eine Lösung zu finden, damit aus jedem Datensatz eine eigene Datei erzeugt wurde. Nachdem dieses Problem gelöst war, gab es schon das nächste. Der PDF-Drucker erzeugte leider keinen aussagekräftigen Namen, sondern bloß einen, der sich aus dem Benutzernamen plus einer Jobnummer zusammensetzte. Damit man sich aber schneller bei einer großen Anzahl von Datensätzen zurechtfindet, galt es eine Lösung zu finden, die alle Dateien nach erfolgtem Druck durch die Bezeichnung eines fest definierten Datenfeldes eines jeden Datensatzes (z.B. der Nachname) umbenennt. Die Routine zum umbenennen war kein Problem. Allerdings dauerte es immer erst eine Weile, bis die erste Datei in dem Ausgabeordner die Datei erstellte, damit sie umbenannt werden konnte. Also musste noch eine Sleep-Routine eingebaut werden, die das Programm für rund 10 Sekunden in den Tiefschlaf versetzte, sodass der PDF-Drucker es in dieser Zeit schaffte, die erste Datei zu erstellen.

Hintergrund hierzu ist, dass der Ausgabeordner zuvor geleert wird (eine andere Möglichkeit fiel mir nicht ein, damit das Programm weiß, welche die erste umzubenennende Datei ist) und dann natürlicherweise ein Fehler kommt, wenn das Programm nach der ersten Datei (wird durch einen Zähler gefunden, da der Dateiname immer symmetrisch aufgebaut ist) sucht, aber keine findet. Hat der PDF-Drucker dann die erste Datei erstellt, ist der Zähler bereits über die Jobnummer hinweg und somit läuft der Zähler dann bis zum Buffer Overflow ;)

Aber jetzt läufts und das freut mich ;) Vlt. schaffe ich es am Wochenende noch den Programmcode zu posten, falls es jemanden interessieren sollte.

[tags] VBA, Programmieren, Ausbildung[/tags]

Fotoordner automatisch bei flickr hochladen

Wem das manuelle uploaden von Fotos nach flickr zu umständlich ist, sollte sich mal folgenden Artikel bei Lifehacker anschauen. Dort wird beschrieben, wie man anhand eines Phytonscripts das ganze automatisieren kann.

Automatically upload a folder’s photos to Flickr    [Lifehacker]

Tobbi at CeBIT: Microsoft

Im Vordergrund standen bei Microsoft vor allem das neue Betriebssystem Windows Vista, sowie Office 2007. Durchaus aber auch vordergründig standen “MicrosoftTV” und “Windows Home Server”.

 

CeBIT 2007 - Microsoft

 

MicrosoftTV

Microsoft plant ein IPTV-Angebot, bei dem man sich per Video-on-Demand Filme für kleines Geld (zw. 1-3 EUR, je nach Film habe ich gehört) auf die Festplatte laden kann, der nach einmaligen anschauen jedoch wieder gelöscht wird. Ein speichern auf DVD o.ä. soll somit nicht möglich sein. Der Zuschauer kann, genau wie bei DVDs dann beliebig im Film vor- oder zurückspulen. Die Filme, die über die “normalen” Sender angeschaut werden können, lassen sich allerdings mit einem einfachen System aufnehmen.

Microsoft TV IPTV Edition is an integrated and comprehensive software platform developed specifically to deliver broadcast-quality video and new, integrated TV services over broadband networks. The platform combines market-leading features such as instant channel change (ICC) and multiple picture-in-picture (PIP) with traditional TV services such as broadcast programming, VOD, and DVR. The software is developed to integrate seamlessly and economically with other IP-based communications and media services for PCs, phones, and other consumer devices. Microsoft TV IPTV Edition is ideal for telecommunications carriers and for cable operators looking to deliver differentiated TV services and experiences.

Deployments of Microsoft TV IPTV Edition are in progress with leading broadband network operators around the world.


CeBIT 2007 - Microsoft
CeBIT 2007 - Microsoft

Mehr Informationen zu MicrosoftTV

 

Windows Home Server
CeBIT 2007 - Microsoft

Microsoft führte natürlich auch den “Home Server” vor, dessen Einstiegspreise der Geräte (wie neulich bekannt wurde) bei round about 500 EUR liegen sollen. Leider hatte ich nicht die Möglichkeit, einen Mitarbeiter von Microsoft direkt nach weiteren Informationen zu fragen, da alle relevanten Personen, sprich die Personen, die mir mehr Infos hätten geben können, beschäftigt waren. Schade, hätte gerne noch ein paar Sachen mehr erfahren.

CeBIT 2007 - Microsoft
Sonstiges

Ich habe auch kurz noch den Schluss von einem Vortrag zum “Visual Studio 2005″ mitbekommen, bei dem Redner Ruprecht Dröge einem die Vorteile für Programmierer aufzeigte. So soll es möglich sein, ohne Programmieraufwand – sprich nur mittels eines Wizards – die wesentlichen Kernelement für ein Programm (in diesem Beispiel ein Formular) zu erstellen.

Sehr praktisch, da einem natürlich jede Menge Zeit erspart wird. Man muss nicht mehr umständlich sämtliche Labels, Textboxen und Buttons selbst auf der Form platzieren, da einem diese Arbeit abgenommen wird.

CeBIT 2007 - Microsoft
CeBIT 2007 - Microsoft

Ich bin ein DLSC-Programmierer

Bitte was?

Ja, macht doch selbst den Test und schaut, was für ein Programmierer-Typ Ihr seid:

Programmer Personality Test