Here ya go - it even handles negative numbers!
Const MODULE_NAME = "InsertNumberedLines"
Const MODULE_VER = "0.1"
Const MODULE_TITLE = "Insert Numbered Lines"
Sub Init
addMenuItem MODULE_TITLE, "Utilities", MODULE_NAME
End Sub
Sub InsertNumberedLines()
Dim editor
Set editor = newEditor()
editor.assignActiveEditor
If editor Is Nothing Then Exit Sub
Dim Items, Numbers, StartNumber, EndNumber, Increment, Digits
Items = InputBox("Enter the items, comma-separated")
If Len(Items) = 0 Then Exit Sub
Items = Split(Items, ",")
Numbers = InputBox("Enter the number sequence: " & vbCrlf & "Simple example:
""1,10"" Will go from 1 to 10, no extra zeros" & vbCrLf & vbCrLf & "Other
example: ""001,003,011"" Will do the odd numbers from 1 to 11, padding to 3
digits")
If Len(Numbers) = 0 Then Exit Sub
Numbers = Split(Numbers, ",")
On Error Resume Next
If UBound(Numbers) = 1 Then
StartNumber = Int(Numbers(0))
EndNumber = Int(Numbers(1))
Increment = Sgn(EndNumber-StartNumber)
If Abs(StartNumber)<Abs(EndNumber) Then
Digits = Len(Numbers(0))
Else
Digits = Len(Numbers(1))
End If
ElseIf UBound(Numbers) = 2 Then
StartNumber = Int(Numbers(0))
Increment = Int(Numbers(1))-StartNumber
EndNumber = Int(Numbers(2))
If Sgn(Increment) <> Sgn(EndNumber-StartNumber) Then
MsgBox "Impossible Sequence"
Exit Sub
End If
If Abs(StartNumber)<Abs(EndNumber) Then
Digits = Len(Numbers(0))
Else
Digits = Len(Numbers(2))
End If
Else
MsgBox "Incorrect format of number sequence"
Exit Sub
End If
If Increment = 0 Then
MsgBox "There was an error in your number sequence, or it was too boring for
me to waste my processor time on"
Exit Sub
End If
Dim i, j, Number, Output
i = StartNumber
Output = ""
Do While Sgn(EndNumber-i)*Sgn(Increment) >= 0
For j = 0 to UBound(Items)
Number = Right(String(Digits, "0") & CStr(Abs(i)), Digits)
If Sgn(i) < 0 Then Number = "-" & Number
Output = Output & Items(j) & Number & VbCrLf
Next
Output = Output & VbCrLf
i = i + Increment
Loop
editor.selText Output
End Sub
--
<http://forum.pspad.com/read.php?2,40623,40644>
PSPad freeware editor http://www.pspad.com