开发者

Setting Lotus Notes section border using VBA

开发者 https://www.devze.com 2023-03-05 08:40 出处:网络
Friends, I\'m using VBA to create Lotus emails populated from an Excel spreadsheet, and I\'m stuck on a really silly point.

Friends,

I'm using VBA to create Lotus emails populated from an Excel spreadsheet, and I'm stuck on a really silly point.

When I create a new section in the note, business rules require me to give it a border. They've been doing this manually for years and are used to doing this from the Notes UI. They create a new section, then go to its properties and t开发者_StackOverflow社区hen change it to have a border (please see the border and style part in the properties window in this screenshot).

I can't figure out how to add this border through VBA. Any ideas? I've tried changing the TitleStyle, but that only affects things like fonts and color. I have everything else done, just stuck on the border!

Thanks!

Mike


The NotesRichTextSection class doesn't give you any way to change the border, unfortunately. Rich text items in Lotus Notes aren't supported very well via the API, so often you'll find a mismatch between what you can do on the client vs. what you can do in code.

There might be a workaround if you're up for trying it. First you need to create a simple form in Notes that has a rich text field, let's call it Body, surrounded by a section. Setup the section to appear however you want, with the border set, etc. You'll also need another hidden text field, called Title, and you'll set the section's title to be computed based on that Title field.

Then in your VBA code you're going to create a new NotesDocument based on that form. You'll set the Title field, and you'll add content into the Body rich-text item. Then you'll need to call the ComputeWithForm method followed by the Save method. Finally, you can use the RenderToRTItem method on the document to put the entire document into your original note's rich text field. Make sense?

No guarantees that will work from VBA, but I've done similar things in the past using LotusScript and it did the trick.


You could just set the borders of the cells you are copying using the Borders() property.

Example:

Range("B2:C4").Borders.LineStyle = xlDash
Range("B2:C4").Borders(xlEdgeBottom) = RGB(255,0,0)
0

精彩评论

暂无评论...
验证码 换一张
取 消