This is funny!!! Helpful Ms word vba

A

Ambrosia

I'm kinda new to vba. This took me lots of hours to make/I'm confused.
need clarification help.

Goal:
Find paragraph with specific level format (1/2 for example) and ad
space to beginning of each selection

The functions I need are already created, except I have some problems:
For my function to work throughout, I have to type something in
msgbox for my script to go forward for each manipulation.

Is there anyway to make it run smoothly, and then to have a msgbox t
tell me that my script was done working its function?



Sub macccta()
Dim sResponse As String

Do

sResponse = InputBox(Prompt:="Type no to exit,Baby", _
Title:="", Default:="")
If sResponse = "no" Then Exit Sub Else 'this i
convenient because I can just type "no" to exit a nasty loop; thi
keeps on looping... where should it place?


If sResponse > "" Then '<--what does this singl
statement means, especially the >? I think its always making me nee
to input anything to make the rest of the script work

Selection.HomeKey Unit:=wdStory 'start in the beginning of doc

Selection.Find.ClearFormatting
With Selection.Find
'we are finding heading 2
.ParagraphFormat.OutlineLevel = wdOutlineLevel2



Do While .Execute

Selection.InsertBefore " "


'election is converted as body text, because if not, the script keep
on looping because I dont know what I'm missing to make it stop
Selection.ParagraphFormat.OutlineLevel = wdOutlineLevelBodyText

Loop
End With

End If
Loop While sResponse <> ""
MsgBox "done"


End Sub

This script would be very useful for people who wants to copy all th
selection after and paste it into Freemind (a great mindmapping fre
software!), which recognizes 'spaces' as heading levels.

Thx you!!!! Plz help!:eek
 
D

Dave Peterson

You may get much better answers in one of the newsgroups dedicated to
MSWord--not Excel.
 
A

Ambrosia

Lol, I'll answer me own question! Sorry I asked in excel a Word
question...
Sub sodsaS()
With ActiveDocument.Content.Find
ClearFormatting
ParagraphFormat.OutlineLevel = wdOutlineLevel2 '---change numbers
according to outline level
Do While .Execute(FindText:="", Forward:=True, _
Format:=True) = True
With .Parent
StartOf Unit:=wdParagraph, Extend:=wdMove
InsertAfter "#" '-----is what gets inserted in the
beginning!
Move Unit:=wdParagraph, Count:=1
End With
Loop
End With
End Sub


Good luck people! lol
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top