View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
NickHK[_3_] NickHK[_3_] is offline
external usenet poster
 
Posts: 415
Default Aligning comments

Format the date/time to ensure the same number of characters:
?format("1/15/07","mm/dd/yy hh:mm AM/PM")

And assuming the userID is a constant length, the fixed-width font should
line up.
You would still need to ensure the text frame is wide enough to display all
characters. You can get the display width from Len(Longest Line) * Scale
Factor, which you can get with a little trial and error.

NickHK

"JT" ...
My macro gets comments from a legacy system and builds a varaible called
"notes". The comments consist of date, time, user ID and freeform text.
I
build a string with spaces between the different fields to try and line
them
up because there can be 5, 10, or more comments retrieved for each item.

Once all of the comments have been retrieved from the legacy system, the
"notes" variable is pasted in a cell as an Excel comment. This part works
well; however, when the comments are displayed it looks really ragged. I
would like to try and line up the fields a little better like this:

1/15/07 2:15 PM 12345 Joe said it is okay to pay
10/07/06 3:45 AM 124AB Check should arrive any day

I once used "Courier New" as the text style in a combo box to line up
different fields and it worked really well. I am using the following code
to
go back and format all of the comments on a particular sheet once all of
the
comments have been pasted in Excel. However, they still aren't lining up
like I want them to.

Sub MyComments()

Dim w As Worksheet
Dim ct As Comment

For Each w In ActiveWorkbook.Worksheets

If w.Name = "My List" Then

For Each cmt In ws.Comments
With ct.Shape.TextFrame.Characters.Font
.Name = "Courier New"
.Size = 9
End With
Next ct
End If
Next w

End Sub

Is it even possible to do what I want? If so any suggestions would be
greatly appreciated. Thanks for the help.........JT

--
JT