![]() |
#20
|
||||
|
||||
![]()
Based on that sample doc, this code appears to work
Code:
Sub SortParasBySize() Dim aRng As Range, aTable As Table, aRow As Row ActiveWindow.View = wdNormalView With ActiveDocument.Range.Find 'Do Find and Replace for separators .ClearFormatting .Replacement.ClearFormatting .Text = "^p" .Replacement.Text = "zx" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False .Execute Replace:=wdReplaceAll .Text = "zxzx" .Replacement.Text = "^p" .Execute Replace:=wdReplaceAll ActiveDocument.Range.ConvertToTable Separator:=wdSeparateByParagraphs, NumColumns:=1 .Text = "zx" .Replacement.Text = "^p" .Execute Replace:=wdReplaceAll End With Set aTable = ActiveDocument.Tables(1) aTable.Columns.Add BeforeColumn:=aTable.Columns(1) For Each aRow In aTable.Rows aRow.Cells(1).Range.Text = Len(aRow.Cells(2).Range.Text) Next aRow aTable.Rows.Add BeforeRow:=aTable.Rows(1) aTable.SortDescending aTable.Columns(1).Delete aTable.Columns.Add 'insert empty column to reinstate extra paras between sections aTable.Rows(1).Delete aTable.ConvertToText Separator:=wdSeparateByParagraphs End Sub
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
Tags |
help me, macros, ms word |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
laurieli | Office | 7 | 01-17-2016 08:56 AM |
Can you make templates dynamically update macros/etc. from Normal.DOT? | New Daddy | Word | 2 | 11-18-2013 09:07 AM |
![]() |
tays01s | Word VBA | 6 | 08-03-2011 09:42 PM |
Macros | nore | Outlook | 0 | 06-01-2011 04:39 PM |
![]() |
Desertwrangler | Word VBA | 6 | 06-25-2010 07:06 AM |