koddump:enhanceindexentries
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| koddump:enhanceindexentries [2008/03/11 17:01] – function padNumber(number,size); 85.228.105.199 | koddump:enhanceindexentries [2011/11/24 20:47] (current) – old revision restored jetthe | ||
|---|---|---|---|
| Line 70: | Line 70: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | |||
| + | Halvoptad kod, går ~dubbelt så snabbt som den ooptade: | ||
| + | <code vb> | ||
| + | Sub NewEnhanceIndexEntries() | ||
| + | Dim doc As Document | ||
| + | Dim fld As Field | ||
| + | Dim temp As String | ||
| + | Dim temp2 As String | ||
| + | Dim omsg As String | ||
| + | Dim matches As MatchCollection | ||
| + | Dim re3 As RegExp | ||
| + | Set re3 = New RegExp | ||
| + | re3.Global = False | ||
| + | re3.Pattern = " | ||
| + | Dim match As match | ||
| + | Dim mval As String | ||
| + | |||
| + | Dim cnt As Integer | ||
| + | cnt = 0 | ||
| + | | ||
| + | Set doc = ActiveDocument | ||
| + | For Each fld In doc.Fields | ||
| + | fld.Select | ||
| + | If fld.Type = wdFieldIndexEntry Then | ||
| + | cnt = cnt + 1 | ||
| + | temp = fld.Code | ||
| + | If (re3.Test(temp) = True) Then | ||
| + | Set matches = re3.Execute(temp) | ||
| + | For Each match In matches | ||
| + | mval = match.Value | ||
| + | Next | ||
| + | | ||
| + | Dim size As Integer | ||
| + | mval = Mid(mval, 2) | ||
| + | mval = Left(mval, Len(mval) - 1) | ||
| + | size = 4 | ||
| + | If (Len(mval) < (size + 1)) Then | ||
| + | Do While (Len(mval) < size) | ||
| + | mval = " | ||
| + | Loop | ||
| + | End If | ||
| + | | ||
| + | temp2 = Left(temp, Len(temp) - 1) | ||
| + | temp2 = temp2 & ";" | ||
| + | With Selection.Find | ||
| + | .Text = temp | ||
| + | .Replacement.Text = temp2 | ||
| + | .Forward = True | ||
| + | .Wrap = wdFindStop | ||
| + | .Format = False | ||
| + | .Execute Replace: | ||
| + | End With | ||
| + | Else | ||
| + | ' NOOP | ||
| + | End If | ||
| + | End If | ||
| + | Next | ||
| + | Set fld = Nothing | ||
| + | Set doc = Nothing | ||
| + | omsg = " | ||
| + | MsgBox (omsg & cnt) | ||
| + | End Sub | ||
| + | </ | ||
| + | |||
| + | |||
koddump/enhanceindexentries.1205251304.txt.gz · Last modified: 2008/03/11 17:01 by 85.228.105.199
