VBA function zur Berechnung im Word Formula-Feld analog { =SUM(D3)

07/04/2009 - 12:27 von nwB | Report spam
Eigentlich eine Frage für die FAQ, aber offensichtlich bin ich zu blöde diese
zu finden.
Ich habe eine VBA function die mir in Excel prima aus Noten ETCS-Grades macht.
Diese würde ich gerne in Word benutzen, z.B.:
{ =note2grade({MERGEFIELD "GesNote"}) }
anstelle eines langen verschachtelten { IF { Konstrukts.

Auch ein anderer (kurzer, Word-interner) Vorschlag zur Lösung dieses
Problems wàre hoch willkommen.

Als blutiger Anfànger in VBA und offensichtlich auch Word bittet um Hilfe, Jan
Public Function note2grade(note As Double) As String
Select Case note
Case 1 To 1.5
note2grade = "A"
Case 1.6 To 2.5
note2grade = "B"
Case 2.6 To 3.5
note2grade = "C"
Case 3.6 To 4
note2grade = "D"
Case 4.1 To 6
note2grade = "E"
Case Else
note2grade = "!"
End Select
End Function
 

Lesen sie die antworten

#1 Thomas Gahler
07/04/2009 - 13:20 | Warnen spam
Hallo nwB


Ich habe eine VBA function die mir in Excel prima aus Noten ETCS-Grades
macht.


Das ist ein kleiner Unterschied von Word zu Excel.
Word kann keine Funktionen im Dokument interprtieren.


Diese würde ich gerne in Word benutzen, z.B.:
{ =note2grade({MERGEFIELD "GesNote"}) }
anstelle eines langen verschachtelten { IF { Konstrukts.


Es bleibt dir nur das verschachtelte IF
-oder-
weshalb denn nicht gleich die entsprechenden Daten in der Datenquelle
berietstellen. Dann musst du nur noch {MERGEFIELD "ETCS-Grad"} im
Serienbrief einfügen.



Case 1 To 1.5
Case 1.6 To 2.5


Hoffentlich hast du nie Werte die dem entsprechen 1.5 < x < 1.6 sonst
landest du im Else-Fall.




Thomas Gahler
MVP für Word
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP3), Office XP (SP3)

Ähnliche fragen