Я написал цикл for для проверки каждого размера шрифта, используемого в интеллектуальном искусстве на слайде, и для вывода размера шрифта для каждого блока текста в фигурах. По какой-то причине первая запись в массиве обновляется правильно (например, у меня будет блок текста в виде строки, объединенной с размером шрифта), но любые последующие записи в массиве только обновляют размер шрифта, но не захватывают фактический блок текста. Массив подсчитывается должным образом (например, 5 образцов умного искусства подсчитываются должным образом).Smart Art Arrays
Dim j,e,f as integer
Dim osh as shape
Dim osl as slide
Dim smrtCount as integer
Dim osmrtSize()
dim osmrtSizeMatch()
set osl = activewindow.view.slide
For each
With osh in osl.shapes
If .Type = msoSmartArt Then
smrtCount = smrtCount + .GroupItems.Count
ReDim Preserve osmrtSizeMatch(1 To smrtCount)
ReDim Preserve osmrtSize(1 To smrtCount)
For j = 1 To .GroupItems.Count
e = e + 1
f = f + 1
osmrtSize(e) = .GroupItems(j).TextFrame.TextRange.Runs(j).Font.Size 'store the sizes
osmrtSizeMatch(f) = .GroupItems(j).TextFrame.TextRange.Runs(j).Text '& " = " & .GroupItems(j).TextFrame.TextRange.Runs(j).Font.Size '& vbCrLf
Next j
End If