Excel: OCL in Kommentarfeldern evaluieren
Auch in einem Excel-Report können - wie in Word-Berichten - OCL-Expressions in Kommentarfeldern evaluiert werden. Hier muss das allerdings von Hand geschehen.
In den Zellen, in denen etwas berechnet werden soll, muss ein Kommentar hinzugefügt und mit der OCL-Expression versehen werden. Der Autor, der von Excel automatisch gesetzt wird, muss von Hand entfernt werden. Das ist wichtig, denn der folgende Code kann nur mit reinem OCL umgehen.
Ein Kommentar sieht dann beispielsweise so aus:

Im folgenden Beispiel ist der Code direkt in die Funktion DoReport2 eingebaut:
Function DoReport2(vertec As Object, rootObj As Object, optargObj As Object, wrkbook As Workbook) As Boolean
'---"Generischer" Excel-Report Generator, evaluiert Kommentare und
füllt einzelne Zellen.
Dim Sheet As Worksheet
Dim Comment As Comment
Dim OCL As String
Set Sheet = wrkbook.ActiveSheet
'---Fahre durch alle Kommentare durch und evaluiere das OCL.
' ACHTUNG: die Kommentar müssen OHNE Autor sein, nur reines
OCL.
On Error Resume Next
For Each Comment In Sheet.Comments
Comment.Parent.Value = rootObj.eval(Comment.Text)
Comment.Delete
If Err <> 0 Then
MsgBox Err.Description
Err = 0
End If
Next
DoReport2 = True
End Function
Beispieldatei
Dies ist die Datei zum obigen Beispiel:
Sie kann auf einem einzelnen Projekt ausgeführt werden (Drucken > Vorlage auswählen...).
| erstellt: | 04.06.2009 |
|---|---|
| geändert: | 04.06.2009 |
| Produktlinien: | Standard, Expert |
| Module: | Leistung & CRM |
