1

Тема: применяем 2 шрифта чередуя их

Ребята приветствую.
Подскажите пожалуйста как имея 2 массива:
Массив1 ("аа", "бб", "вв")
Массив2 ("11", "22", "33")

скрестить их воедино в порядке 11 аа 22 бб 33 вв при этом массив1 шрифтом должен быть например Arial А массив 2 Roman
И все это вставить в том месте где будет находится курсор
что-то в этом роде,

Dim result_str As String
Dim S As String
    For i = LBound(массив 1) To UBound(массив 1)
    
    S = массив 2(i)
    Selection.Text = S
    Selection.Font.Name = "Santipur OT"
   Selection.InsertBefore Text:=S & ChrW$(32)
   ttt = Selection.Range.Start

но у меня не выходит вставить чередуя их в нужном месте.
То есть моя идея заключалась в том, чтоб последовательно брать значения из массива 2 применять к нему шрифт, потом через пробел из массива 1 (применяем свой шрифт) и так, пока не кончатся слова.
В итоге получаем

रागादि-रोगान् rāgādi-rogān सततानुषक्तान् satatānuṣaktān अ-शेष-काय-प्रसृतान् a-śeṣa-kāya-prasṛtān अ-शेषान् a-śeṣān ।
औत्सुक्य-मोहा-रति-दाञ् |
autsukya-mohā-rati-dāñ जघान jaghāna यो yo ऽ-पूर्व-वैद्याय '-pūrva-vaidyāya नमो namo ऽस्तु 'stu तस्मै tasmai ॥ || १ 1 ॥

со своими шрифтами.
Спасибо.

2

Re: применяем 2 шрифта чередуя их

Сам решил.

  ' формируем выходную строку
    Dim result As String
    Dim first_pos, position_start, position_end, position_temp  As Integer
    For i = LBound(arrText) To UBound(arrText)
        result = result & ChrW$(32) & arrDev(i) & ChrW$(32) & arrText(i)
    Next i
    S = result
        If Left(S, 1) = " " Then
        S = Right(S, Len(S) - 1)
    End If
    Selection.Text = S

    For i = LBound(arrText) To UBound(arrText)
        If first_pos = 0 Then
            position_start = Selection.Range.Start
            first_pos = first_pos + 1
        Else
            position_start = position_end + 1
        End If
        position_temp = Len(arrDev(i))
        position_end = position_start + position_temp
        ActiveDocument.Range(Start:=position_start, End:=position_end).Select
        Selection.Font.Name = "Santipur OT"
        
        position_start = position_end + 1

        position_temp = Len(arrText(i))
        position_end = position_start + position_temp
        ActiveDocument.Range(Start:=position_start, End:=position_end).Select
        Selection.Font.Name = "Charter Indologique"
   
    
    Next i