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
Dies ist die Datei zum obigen Beispiel:
Sie kann auf einem einzelnen Projekt ausgeführt werden (Menü Drucken > Vorlage auswählen...).