Я создаю макрос, который берет текст в выбранной форме и записывает его в первую пустую строку в таблице.
Попытка вставки таблицы Excel, однако она задерживалась каждый раз, когда я нажимал на нее.
Вместо этого я использую форму сетки для создания таблицы размером 50x1. Проблема в том, что сетка может создавать только 10 строк за раз, а это значит, что мне нужно копировать и вставлять сетки вместе.
Теперь проблема заключается в том, что я пытаюсь перебрать каждый идентификатор ячейки, чтобы проверить, заполнен он или нет, а идентификаторы создаются почти случайным образом с практически нулевым логическим шаблоном. Есть ли способ установить ItemID самостоятельно или, возможно, лучший способ создания таблиц в Visio.
Dim vsoCharacters1 As Visio.Characters
Set vsoCharacters1 = Application.ActiveWindow.Page.Shapes_
.ItemFromID(7272).Characters 'Just copying from a cell at the moment.
vsoCharacters1.Begin = 0
vsoCharacters1.End = 2
vsoCharacters1.Copy
Dim vsoCharacters2 As Visio.Characters
For i = 7163 To 7174 'The ItemID for this grid, manually controlled
If Application.ActiveWindow.Page.Shapes.ItemFromID(i).Value = "" Then
Set vsoCharacters2 = Application.ActiveWindow.Page.Shapes_
.ItemFromID(i).Characters
ActiveWindow.SelectedText = vsoCharacters2
ActiveWindow.SelectedText.Paste
ElseIf Application.ActiveWindow.Page.Shapes.ItemFromID(i)_
.Value <> "" Then i = i + 1
End
Код выше в данный момент не компилируется, вместо этого он получает ошибку ниже:
«Блокировать без конца, если»