Вопрос такого плана...
Есть Список имен в Экселе и есть письмо(скажем пригласительное).
Нужно написать подобное письмо каждому человеку из списка.
Как я представляю реализацию данной задачи--- Пользователь открывает фаил экселя со списком имен, запускает макрос у него спрашивают в каком столбе находятся имена он указывает nColums,
затем у него спрашивают название фаила в котором храниться письмо---stName. После чего программа происходит запись в письмо определенного имени и сохранение под этим же именем... используя---сохранить как...
Я подключил в экселе вордовскую объектнуюю библиотеку с номером 11 других небыло...
Option Explicit Option Base 1 Sub Imena() Dim obText As Object Dim stName As String Dim ph As String, nameRevers As String Dim x As Integer, nColums As Integer, n As Integer, z As Integer Dim imena() As String ph = ActiveWorkbook.Path nColums = InputBox("Vvedite nomer stolba") n = Cells(1, nColums).CurrentRegion.Columns.Count ReDim imena(n) As String For x = 1 To n imena(x) = Cells(1, x).Value Next x stName = InputBox("Name") stName = ph & stName Set obText = CreateObject("Word.Application") With obText .Documents.Open Filename:=stName .Visible = True With .Selection Selection.GoTo , Count:=6, Name:="" For x = 1 To n nameRevers = StrReverse(imena(x)) z = StrComp(nameRevers, "б", vbTextCompare) ' определяем пол человека т.к. в ячейке экселя последней написана фамилия, то по ее последней букве и узнаем к кому обращаемся... ' До сюда все написанно коректно... вроде... непосредственно тут должны присутствовать ' следующие функции----- ' Нахождение интересующей нас строки допустим это будет 6я строка и замена ее на ' интересующий нас текст ' то как мы выбираем необходимый вариант для подстановки--- If z = 1 Then Selection.TypeText Text:="Yvazaemi " & imena(x) & "!" Else Selection.TypeText Text:="Yvazaemaia " & imena(x) & "!" End If End With End With End Sub
Буду очень признателен если на ряду с нахождением текста вы еще укажите как его форматить...