Richtext in Formularen und Berichten - Teil 1

RTF2 und IntelliSense

Auch per IntelliSense können Sie nicht auf die Elemente des RTF2-Objekts in der VBA-Entwicklungsumgebung zugreifen. Und dass es da eine Menge Methoden und Eigenschaften gibt, zeigt allein ein Blick in den Objektkatalog (Bild 7).

Bild 7: Die Elemente des RTF2- Steuerelements im Objektkatalog.
Bild 7: Die Elemente des RTF2- Steuerelements im Objektkatalog.

Wer bereits ActiveX-Steuerelemente programmiert hat, kennt folgende Vorgehensweise vielleicht schon. Die Elemente des Steuerelements lassen sich nur via IntelliSense erschließen, wenn Sie mit einer Objektvariablen arbeiten, die auf das ActiveX-Steuerelement verweist.

Diese müssen Sie zunächst deklarieren und mit einem Verweis auf das RTF2-Steuerelement ausstatten. Wie das funktioniert, zeigt die geänderte Fassung der Routine Form_Current aus Listing 5; Bild 8 bestätigt, dass nun auch die Elemente des RTF2-Steuerelements zugänglich sind. Allerdings können Sie die allgemein verfügbaren Methoden und Eigenschaften wie etwa SetFocus nicht auf das RTF2-Objekt anwenden.

Bild 8: Mit IntelliSense geht vieles leichter.
Bild 8: Mit IntelliSense geht vieles leichter.

Private Sub Form_Current()
Dim objRTF2 As RTF2Lib.RTF2
Set objRTF2 = Me.ctlRTF2.Object
Me!ctlRTF2.SetFocus
Me.Dirty = True
If Len(Me!RTF) > 0 And Len(objRTF2.PlainText) = 0 Then
ClipBoard_SetData Me!RTF
Me!ctlRTF2.SetFocus
objRTF2.Paste
End If
End Sub