строка числовая или нет?

  • Автор темы Автор темы dik973
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

dik973

Топикстартер
15 лет на форуме
Сообщения
596
Реакции
79
Как определить строка числовая или нет, в ракурсе
Код:
Public Sub Plus_1()
Dim SelOrig As ShapeRange, ss As Shape, ww As Object, sNum As Double
Set SelOrig = ActiveSelectionRange
For Each ss In SelOrig.Shapes.FindShapes(Type:=cdrTextShape)
 For i = 1 To ss.Text.Story.Words.Count
 Set ww = ss.Text.Story.Words(i)
sNum = Val(ww.Text)
If ww.Text = Trim(Str(sNum)) Then
  ww.Text = Trim(Str(sNum + 1))
End If
 Next i
Next ss
End Sub
Придумал вот так -- но думаю есть более правильные варианты?
 
Ответ: строка числовая или нет?

If IsNumeric(Trim(ww.Text)) Then
...
Но, Ваш код убъёт ведущие пробелы в тексте с числом, которые по небрежности мог наставить дизайнер, что может привести с слёту позиционирования цифр.

ps Просьба в моей ветке использовать теги [ PHP] только для PHP кодов, а для VBA или CorelSCRIPT теги [ code]
 
Ответ: строка числовая или нет?

lev сказал(а):
If IsNumeric(Trim(ww.Text)) Then
Спасибо!

lev сказал(а):
Но, Ваш код убъёт ведущие пробелы в тексте с числом, которые по небрежности мог наставить дизайнер, что может привести с слёту позиционирования цифр.
И за этот комент огромное спасибо -- буду разбираться!

lev сказал(а):
Просьба в моей ветке использовать теги [ PHP] только для PHP кодов, а для VBA или CorelSCRIPT теги [ code]
В дальнейшем обязуюсь
 
Ответ: строка числовая или нет?

Чуток доработал, если кому интресно -- выполняет во всех помеченных текстовых объектах увеличение/уменьшение значения числового слова на 1. Например: «12 вв 25» => «13 вв 26»
 

Вложения

Статус
Закрыто для дальнейших ответов.