logo domkeconsulting

Beratung und Entwicklung - Mehr Produktivität für Microsoft Office

Add-ins für MS Office


Eine Auswahl von Add-ins, die ich in den letzten Jahren für meine Kunden erstellte (Word, Powerpoint, Excel und Outlook). Nehmen Sie sich die Zeit, zu sehen, was man so machen kann ...

 

Excel: Add-in zum Erweitern von eDocs DM Verknüpfungen

Aufgabenstellung

Der Kunde verwendet eDocs DM als Dokumenten-Management-System. DM hat eine Funktion "DM Verknüpfung", mit der Verknüpfungen zwischen Excel-Arbeitsmappen so umgeleitet werden können, dass sie sich auf die im DMS gespeicherten Dateien beziehen. Ein Add-in von Open Text stellt die Aktualisierung der Links sicher.

Das Add-in von Open Text funktioniert korrekt und wie geplant. Leider enthalten die Links aber nur "absolute" Zelladressen:

=PwDMoniker.PwDMoniker.1|'PCDOCS://SKMA/171893/R'!'Tabelle1!Z6S2'

Dabei steht "PCODCS://SKMA" für die DMS Bibliothek, "171893" für die Dokumentnummer, "R" für die aktuelle Version, "Tabelle1" für die Arbeitsmappe in der Datei, und "Z6S2" steht natürlich für Zeile 6 Spalte 2.

Somit ist es nicht möglich, wie üblich die Befehle "Unten ausfüllen" und "Rechts ausfüllen" zu verwenden, mit denen der Benutzer normalerweise relative Formeln einfach in einen angrenzenden Zielbereich kopieren kann. Auch kann man nicht wie in Excel gewohnt die Referenzen mit der F4-Taste zwischen "relativ" und "absolut" umschalten.

Der Kunde wünscht ein "Tool", um das zu beheben.

Lösung

Ich erstellte ein Excel add-in mit Hilfe von des Add-in Express frameworks (siehehttp://www.add-in-express.com/add-in-net/index.php).

Das Add-in fügt zwei Befehle zum Arbeitsblatt-Kontextmenü hinzu. Die Befehle arbeiten nur, wenn mehrere Zellen markiert sind, und wenn die erste Zelle eine Formel mit DM-Verknüpfung enthält

In diesem Fall wird die Quellformel analysiert, die Zahl der auszufüllenden Zellen ermittelt, und neue Formeln mit den entsprechenden Zelladressen in den Zielbereich eingefügt.

Auswahl der Quelle und des Zielbereichs:

Ergebnis:

Die Kosten - und einige Worte über Aufwandschätzungen

Für die Prüfung und für die "Wie-könnte-das-gehen"-Codierung mit ein paar VBA-Makros, für den Prototypen in C#/Visual Studio 2010, für die Entwicklung einer "schlauen" Klasse für die Kalkulation der Zielreferenzen, die Finalisierung und die Fehlerbehebung nach den ersten Tests, für die Erstellung des MSI Setup zur Verteilung auf den Terminalservern und den Test des Setups auf einer "sauberen" Zielmaschine, und endlich für das Schreiben eines kurzen, mit Fotos garnierten Hinweises zur Benutzung des Tools, waren insgesamt 20 Stunden bzw. 2,5 Tage notwendig.

Dies zeigt deutlich,dass auch für eine "kleine Lösung" ein gewisser Mindestaufwand immer kalkuliert werden muss. Niemals sollte glauben, die Kosten des Endprodukts seien identisch mit der Zeit, die man für die Prüfung "ob etwas geht" benötigt - da nutzt man ein kleines VBA-Makro, um die Möglichkeiten zu testen. Das Endprodukt, das vom Kunden 200 Tage im Jahr eingesetzt wird, oder auch von Benutzern eingesetzt wird, die bei Fehlern nicht tolerant sind, muss in allen Umständenfunktionieren, muss eine korrekte Fehlerbehandlung haben, nach Möglichkeit auch eine Logfunktion zum Aufspüren von Fehlern. Auch ein Setup wird benötigt, und muss getestet werden; und zu guter Letzt stösst man immer wieder auf Probleme, mit denen man nicht rechnete.

Wenn aber der Kunde mit der Lösung zufrieden ist, und wenn die Lösung vielleicht fünf Jahre lang überall in einem Unternehmen von 25 Excel-Power-Usern eingesetzt wird, dann waren die 20 Stunden eine geringe Ausgabe für den erzielten Produktivitätsgewinn.