Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
Word
application.errors
conversions
docmanagement
drawing.graphics
formatting.longdocs
international
internet.assistant
mail
mailmerge.fields
menustoolbars
newusers
numbering
oleinterop
pagelayout
printingfonts
setup.networking
spelling.grammar
tables
vba.addins
vba.beginners
vba.customization
vba.general
vba.userforms
web.authoring
word6-7macros
word97vba
  
 
date: Fri, 4 Apr 2008 10:44:07 +0100,    group: microsoft.public.word.vba.beginners        back       


Insert Line Break every 215 Characters   
Hello Group!

Is it possible to have Word insert a line break automatically after every 
215 characters (spaces inclusive)?

Thanks in advance.

Ahmed
date: Fri, 4 Apr 2008 10:44:07 +0100   author:   Ahmed Mesbah

Re: Insert Line Break every 215 Characters   
Hi Ahmed,

like that:

Sub Test6002()
Dim rngDcm As Range
Set rngDcm = ActiveDocument.Range
With rngDcm.Find
   .Text = "?{215}"
   .MatchWildcards = True
   While .Execute
      rngDcm.InsertAfter Chr(11)
      rngDcm.Collapse Direction:=wdCollapseEnd
   Wend
End With
End Sub

--

Greetings from Bavaria, Germany

Helmut Weber, MVP WordVBA

Vista Small Business, Office XP
date: Fri, 04 Apr 2008 12:54:21 +0200   author:   Helmut Weber

Re: Insert Line Break every 215 Characters   
Helmut,

Interesting.  I would have done it like this:
Sub Scratchmacro()
Dim oRng As Word.Range
Set oRng = ActiveDocument.Range
Do While oRng.End - oRng.Start > 215
  oRng.MoveStart wdCharacter, 215
  oRng.InsertBefore Chr(11)
Loop
End Sub



Helmut Weber wrote:
> Hi Ahmed,
>
> like that:
>
> Sub Test6002()
> Dim rngDcm As Range
> Set rngDcm = ActiveDocument.Range
> With rngDcm.Find
>   .Text = "?{215}"
>   .MatchWildcards = True
>   While .Execute
>      rngDcm.InsertAfter Chr(11)
>      rngDcm.Collapse Direction:=wdCollapseEnd
>   Wend
> End With
> End Sub
date: Fri, 4 Apr 2008 07:59:25 -0400   author:   Gregory K. Maxey RrOMEOgOLF

Re: Insert Line Break every 215 Characters   
"Gregory K. Maxey" wrote:

> Helmut,
> 
> Interesting.  I would have done it like this:
> Sub Scratchmacro()
> Dim oRng As Word.Range
> Set oRng = ActiveDocument.Range
> Do While oRng.End - oRng.Start > 215
>   oRng.MoveStart wdCharacter, 215
>   oRng.InsertBefore Chr(11)
> Loop
> End Sub

Hi Greg,

I like the range solution, but, you have to tweak it a bit. When you add 
Chr(11), it becomes part of the range, so at the next pass, you would have to 
move the start by 216, not 215.

Try something like this instead:

Dim oRng As Word.Range
Set oRng = ActiveDocument.Range
With oRng
    Do While .End - .Start > 215
      .MoveStart wdCharacter, 215
      .InsertBefore Chr(11)
      .MoveStart wdCharacter, 1
    Loop
End With
date: Fri, 4 Apr 2008 05:26:07 -0700   author:   Jean-Guy Marcil

Re: Insert Line Break every 215 Characters   
Hi Greg,

>Sub Scratchmacro()
>Dim oRng As Word.Range
>Set oRng = ActiveDocument.Range
>Do While oRng.End - oRng.Start > 215
>  oRng.MoveStart wdCharacter, 215
>  oRng.InsertBefore Chr(11)
>Loop
>End Sub

which results in a length of 214! ;-)

Have a nice day.

--

Greetings from Bavaria, Germany

Helmut Weber, MVP WordVBA

Vista Small Business, Office XP
date: Fri, 04 Apr 2008 14:35:55 +0200   author:   Helmut Weber

Re: Insert Line Break every 215 Characters   
Helmut, Greg and Jean,

Thank you VERY much. It did the trick. You've been a huge help!

Have a great day!

Ahmed

"Helmut Weber"  wrote in message 
news:e18cv3tuk4jdu1m15vqmedeed90chd68jb@4ax.com...
Hi Greg,

>Sub Scratchmacro()
>Dim oRng As Word.Range
>Set oRng = ActiveDocument.Range
>Do While oRng.End - oRng.Start > 215
>  oRng.MoveStart wdCharacter, 215
>  oRng.InsertBefore Chr(11)
>Loop
>End Sub

which results in a length of 214! ;-)

Have a nice day.

--

Greetings from Bavaria, Germany

Helmut Weber, MVP WordVBA

Vista Small Business, Office XP
date: Fri, 4 Apr 2008 14:01:47 +0100   author:   Ahmed Mesbah

Re: Insert Line Break every 215 Characters   
Helmut,

See what a clever guy JGM is ;-)


Helmut Weber wrote:
> Hi Greg,
>
>> Sub Scratchmacro()
>> Dim oRng As Word.Range
>> Set oRng = ActiveDocument.Range
>> Do While oRng.End - oRng.Start > 215
>>  oRng.MoveStart wdCharacter, 215
>>  oRng.InsertBefore Chr(11)
>> Loop
>> End Sub
>
> which results in a length of 214! ;-)
>
> Have a nice day.
date: Fri, 4 Apr 2008 21:58:53 -0400   author:   Gregory K. Maxey RrOMEOgOLF

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us