Solved

MS Word, VB6 and VBA: How set a custom flag/object/property/tag to a Range object?

Posted on 2015-01-09
8
226 Views
Last Modified: 2015-01-25
Is there a way to assign a user defined something like flag/object/property/tag to a Range object?
Does the Range object has some unused property of Variant/String/Object type which the user could use for its on purpose?

In VB6 for instance, controls have the Tag (string) property, which is not used by VB6 by default, and it can be used for any purpose, such as assigning some data to that control.

So, is there some equivalent for the Range object?
0
Comment
Question by:npaun
  • 3
  • 3
  • 2
8 Comments
 
LVL 18

Expert Comment

by:SimonAdept
ID: 40539982
I'd think not. A control is a persistent object whose properties can be written to file, whereas a range is an ephemeral one.
0
 
LVL 14

Accepted Solution

by:
DrTribos earned 500 total points
ID: 40539993
I think you might have to look at bookmarks or content controls
0
 
LVL 18

Expert Comment

by:SimonAdept
ID: 40540112
For Word there are custom document properties that you can create/edit/delete.
For Excel there is the names collection and cells can be assigned an ID:
"Returns or sets a String value that represents the identifying label for the specified cell when the page is saved as a Web page."
0
 

Author Comment

by:npaun
ID: 40540121
@SimonAdept
You mean CustomDocumentProperties? If I understated correctly, they are document level properties, while I need it for Range object (e.g. selections, Words...)
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 18

Expert Comment

by:SimonAdept
ID: 40540159
There is the range.comment object which is part of the tracked changes/review document process.

Selection.Comments.Add Range:=Selection.Range

This creates a review comment that is associated with the range (word, phrase, paragraph) that you want.

You can then do various things with the comment and/or the range it refers to.

Sub test()
Dim myRange As Range
If ActiveDocument.Comments.Count >= 1 Then
    For x = 1 To ActiveDocument.Comments.Count
    Set myRange = ActiveDocument.Comments(x).Range
    Debug.Print myRange, myRange.Start, myRange.End
    myRange.Select
    Next x
End If
End Sub
0
 

Author Comment

by:npaun
ID: 40540221
@SimonAdept
Thanks for the reply. Yes, I know for the comment property, however it has internal use by Word, and all entries here would be seen in the user comments selection, i.e. these entries would interfere with comments manually and explicitly added by the user itself... I would need a Range property that is "unused" and would not so easily interfere with Word...
0
 

Author Comment

by:npaun
ID: 40540240
@DrTribos
Thank for the post.
Unfortunately, the ContentControls also severely interfere with the Word normal behavior, it, as intended, ads clearly visible controls in the text...
0
 
LVL 14

Expert Comment

by:DrTribos
ID: 40540873
Yup, aside from that i think it is bookmarks.

Other approaches that I can think of would be very 'hacky'...

1. Delineate range via a portfolio of uniquely named styles all with the same appearance
2. Delineate using table cell
3. Delineate using field codes

But as far as I know bookmarks is the go
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Printing A1 on A4 Printer 8 56
Total in textboxes 9 35
Duplicate a row 2 29
DataGridview Currency Formating? 22 38
The Selection object is designed for user interaction. It has a Range property, so it can be used in most places that a Range object can. Recorded macros must use the Selection because they are simply copying what the user is doing. A Range prope…
Shortcuts in Word Just the other day I had a training for Microsoft and they wanted me to show how well the new Windows and Office behaved on a touch device, which by the way is great, but it was only then that I realized that using keyboard shortc…
This video teaches the viewer how to align pictures around text while keeping the text properly aligned in the document.
This Micro Tutorial well show you how to find and replace special characters in Microsoft Word. This is similar to carriage returns to convert columns of values from Microsoft Excel into comma separated lists.

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now