извлечь часть строки

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

vl

Топикстартер
15 лет на форуме
Сообщения
48
Реакции
0
есть маленкий макрос,
подскажите, как извлечь из названия часть -- убрать расширение и извлечь последние четыре символа
Код:
Sub DnN()
    
    'Dim ADName As String
    Dim X As Double, Y As Double, w As Double, h As Double
    
    Set doc = ActiveDocument
    doc.BeginCommandGroup "Name Docs"
    
    ActiveDocument.Unit = cdrMillimeter
    ActiveDocument.ReferencePoint = cdrCenter
    ActiveSelectionRange.GetPosition X, Y
    'ActiveSelectionRange.GetSize w, h
 
    ActiveSelectionRange.Delete
    
    Set inform = ActiveLayer.CreateArtisticText(X, Y, ActiveDocument.Name)
                inform.Text.FontProperties.Name = Font
                inform.Text.FontProperties.Style = cdrNormalFontStyle
                inform.Text.FontProperties.Size = 9
                inform.Fill.UniformColor.CMYKAssign 0, 0, 0, 100
                inform.Outline.Type = cdrNoOutline
               
                inform.Text.Story.Alignment = cdrCenterAlignment
                
               ActiveSelectionRange.SetPosition X, Y
                
   doc.EndCommandGroup

End Sub
 
Ответ: извлечь часть строки

myPayh=Left(myPayh,len(myPayh)-4) -- убирает последние 4 символа

iPos=inStrRev(myPath, ".") -- возвращает номер поледней точки в строке

myFormat=Right(myPath, leh(myPath)-iPos) -- возвращае расширение файла
 
Ответ: извлечь часть строки

спасибо!
myFormat=Right(myPath, leh(myPath)-iPos) -- возвращае расширение файла,
а как возвратить 3 или 2 знака после заданного символа
 
Ответ: извлечь часть строки

Mid(строка,номер символа, длина)

а вообще тебе немешает F1 немного потереть...
 
Ответ: извлечь часть строки

в процессе удалось более точно сформулировать -- надо из конструкции 1234_z666.cdr извлечь 666.
Получилось так

myPath1 = ActiveDocument.Name

iPos = InStrRev(myPath1, "z")
myFormat = Right(myPath1, Len(myPath1) - iPos)
myFormat1 = Left(myFormat, Len(myFormat) - 4)
MsgBox myFormat1
как-то коряво, хотя и работает
 
Ответ: извлечь часть строки

спасибо, вы отвечаете, быстрее, чем я пишу.
 
Ответ: извлечь часть строки

myPath=ActiveDocument.Name
myKod=mid(myPath,instr(myPath,"z")+1,len(myPath)-instr(myPath,"z")-4))
 
Статус
Закрыто для дальнейших ответов.