Я создал скрипт для переименования объектов в CorelDraw в алфавитном порядке. Этот скрипт должен работать как положено, но я не знаю, почему последовательность от Z до A. На скриншотах слева показано, как код работает должным образом.
Sub RenameSelectedObjects()
Dim i As Integer
Const START_CHAR = 65 ' ASCII untuk 'A'
Const END_CHAR = 90 ' ASCII untuk 'Z'
Dim objCount As Integer
Dim selectedShape As Shape
i = 0
objCount = ActiveSelectionRange.Count
For Each selectedShape In ActiveSelectionRange
If i > END_CHAR - START_CHAR Then Exit Sub
selectedShape.Name = Chr(START_CHAR + i)
i = i + 1
Next selectedShape
End Sub
Но другое дело, если с этим скриптом у «Объекта в целом» все получится.
Sub RenameObjects()
Dim i As Integer
Const START_CHAR = 65 ' ASCII untuk 'A'
Const END_CHAR = 90 ' ASCII untuk 'Z'
i = 0
For Each s In ActivePage.Shapes.All
If i > END_CHAR - START_CHAR Then Exit Sub
s.Name = Chr(START_CHAR + i)
i = i + 1
Next s
End Sub
Есть ли кто-нибудь, кто может помочь мне заставить скрипт работать только с выбранными объектами и поддерживать их порядок от А до Я?
Sub RenameSelectedObjects()
Dim i As Integer
Const START_CHAR = 65 ' ASCII untuk 'A'
Const END_CHAR = 90 ' ASCII untuk 'Z'
Dim objCount As Integer
Dim selectedShape As Shape
i = 0
objCount = ActiveSelectionRange.Count
If objCount > END_CHAR - START_CHAR Then objCount = END_CHAR - START_CHAR ' **
For Each selectedShape In ActiveSelectionRange
selectedShape.Name = Chr(START_CHAR + objCount - i) ' **
i = i + 1
If i > END_CHAR - START_CHAR Then Exit Sub
Next selectedShape
End Sub