Simple Question on SafeInspector's RTEEditor

S

survivalist

Let's say I have this code, which uses the Redemption SafeInspector
library:

Set sInspector = CreateObject("Redemption.SafeInspector")
sInspector.Item = Application.ActiveInspector
If sInspector.EditorType = olEditorRTF Or sInspector.EditorType =
olEditorWord Then
Set RTFEditor = sInspector.RTFEditor
RTFEditor.SelAttributes.Name = "Courier New"
RTFEditor.SelAttributes.Size = 8
' here's the question...
' RTFEditor.RTFSelText = ""
End If

....and then there are bunch of calls like

sInspector.SelText = "Some string"

Now, what I'm finding is that "Some string" prints out in whatever
font/size the Outlook email editor is already using. On the other
hand, if I uncomment that RTFEditor.RTFSelText="" line, then subsequent
calls to sInspector.SelText are in the chosen font/size.

Is there something I'm missing here (no surprise!) or is there a
different way of outputting "Some string" I should be using...? This
is Outlook 2003, if that matters.

Thanks!

-S.
 
D

Dmitry Streblechenko

Why not try first to set the SelText property, and only then set the font
attributes?

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
S

survivalist

Dmitry said:
Why not try first to set the SelText property, and only then set the font
attributes?

Spasiba - ya nis nyiyoo - ya tolka neemnoga panamayoo VBA ;)

Unfortunately, my VBA is about as good as my Russian. Set the SelText
property of...what? I'm just going off the examples on your site -

BTW, the user isn't selecting anything. I'm just trying to paste some
RTF formatted text at the curosr when the macro is invoked.

And in fact, I've now found some cases where my earlier example does
not work perfectly...what is the canonical way to insert text at the
cursor in an RTF-formatted way?

Thanks,

-S.
 
D

Dmitry Streblechenko

Sorry, I meant RTFSelText:

Set RTFEditor = sInspector.RTFEditor
RTFEditor.RTFSelText = "<your RTF formatted text here>"
RTFEditor.SelAttributes.Name = "Courier New"
RTFEditor.SelAttributes.Size = 8

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
A

andrew.fabbro

Dmitry said:
Sorry, I meant RTFSelText:

Set RTFEditor = sInspector.RTFEditor
RTFEditor.RTFSelText = "<your RTF formatted text here>"
RTFEditor.SelAttributes.Name = "Courier New"
RTFEditor.SelAttributes.Size = 8

This code::

Set sInspector = CreateObject("Redemption.SafeInspector")
sInspector.Item = Application.ActiveInspector
If sInspector.EditorType = olEditorRTF Then
MsgBox ("Sorry, you're not in RTF")
Exit Sub
end if
Set RTFEditor = sInspector.RTFEditor
RTFEditor.RTFSelText = "Here is my RTF Text"
RTFEditor.SelAttributes.Name = "Courier New"
RTFEditor.SelAttributes.Size = 8
sInspector.SelText = "Here is my SelText"

prints

Here is my SelText

in the correct formatting...but it doesn't print "Here is my RTF Text".
It also works ("Here is my SelText" is printed in the correct
formatting) if the the RTFEditor.RTFSelText is set to ""

I'm just not sure it's supposed to be that way ;)

-S.
 
D

Dmitry Streblechenko

I am not sure I understand: the last change wins, i.e. you are supposed to
get "Here is my SelText", *not* "Here is my RTF Text".
Did you expect anything else? Why do you set the sInspector.SelText property
after you set RTFEditor.RTFSelText?

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

ADO Connection Problem 4

Top