Cissy was telling us:
Cissy nous racontait que :
Hi, I'm using Word 03. I'm missing something here, but I want to
insert the text obtained from the user responding to the InputBox,
here's what I have:
Sub newtest()
Dim Message, Title, Default
Dim MyValue As String
Selection.TypeParagraph
Selection.TypeText ("BLACKLINE OF ")
Message = "Blackline of "
Title = "Blackline Footer"
Default = "1"
MyValue = InputBox(Message, Title, Default)
ActiveDocument.Content.InsertAfter ("MyValue") 'does not work
End Sub
Well, there are many things that are not quite right... let's start with the
variables:
Dim Message, Title, Default
Dim MyValue As String
My is defined as a String. Good. But what about Message, Title and Default?
It is not good practice to let the compiler decide in your place what type
of variable to use. So, it should be:
Dim Message As String, Title As String, Default As String
Dim MyValue As String
But this is minor.
More major is this:
ActiveDocument.Content.InsertAfter ("MyValue")
Here, you are not telling the compiler to insert the value of the variable
called "MyValue", but to insert the actual text "MyValue". Quotation marks
in code identify the enclosed content as pure text to be used as is.
So, it should have been:
ActiveDocument.Content.InsertAfter MyValue
Next,
Selection.TypeParagraph
Selection.TypeText ("BLACKLINE OF ")
These two, lines tell the compiler to insert a paragraph mark and the text
"BLACKLINE OF " at the cursor position in the document.
Then
ActiveDocument.Content.InsertAfter MyValue
Inserts the value entered by the user in the InputBox at the End of the
document. Content returns a Range representing the whole document (Well, not
quite, the Whole main story).
Is this what you want?
Maybe it should be:
'_______________________________________
'Define the variable for the InputBox
Dim Message As String, Title As String, Default As String
'Define the variable for InputBox result
Dim MyValue As String
'Define the variable for the current range
Dim CurRange As Range
Set CurRange = Selection.Range
Message = "Blackline of "
Title = "Blackline Footer"
Default = "1"
'Get user imput
MyValue = InputBox(Message, Title, Default)
'Use the range from the current selection
With CurRange
'Collpase current selection to end of range in case
'current selection is not an insertion point
.Collapse wdCollapseEnd
'Insert the ¶
.InsertParagraphAfter
'Insert the text
.InsertAfter "BLACKLINE OF " & MyValue
End With
'_______________________________________
???
--
Salut!
_______________________________________
Jean-Guy Marcil - Word MVP
(e-mail address removed)
Word MVP site:
http://www.word.mvps.org