Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2019, 11:56   #1
krot12348
Пользователь
 
Регистрация: 26.07.2019
Сообщений: 14
По умолчанию Подстановка данных из экселя в ворд

Не все данные вставляются в ворд из таблицы экселя, голову сломал
ОС-Виндовс 10
Офис 2013г

макрос для ворда

Код:
Sub paste()
    Selection.HomeKey Unit:=wdStory, Extend:=wdMove

    With Selection.Find
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting

End Sub
Макрос для экселя

Код:
Sub автозамена()
Dim word As Object
Dim wl As Worksheet
Dim patch, name As String

Dim rWhat, rTo As String



Set wl = Workbooks(1).Worksheets(1)
Set word = CreateObject("Word.Application")
iPath = ActiveWorkbook.Path + "\"

Dim i, j As Integer
 i = 1
 j = 1

wl.Activate
While (wl.Cells(i + 1, 1) <> "")
   Set word = CreateObject("Word.Application")
   word.Visible = True
   word.Activate
   word.Documents.Open Filename:=iPath + "ШаблонЗаключение.docx", ReadOnly:=False
   word.Visible = True
   word.Activate
   j = 1
  While (wl.Cells(i + 1, j + 1) <> "")
    'word.Selection.HomeKey ' Unit:=wdStory, Extend:=wdMove
    wl.Activate
    word.Activate
     rWhat = Cells(1, 1 + j)
     rTo = Cells(i + 1, j + 1)
     word.Selection.Find.ClearFormatting
     word.Selection.Find.Replacement.ClearFormatting
     word.Selection.Find.Execute FindText:=rWhat, _
     ReplaceWith:=rTo, Replace:=wdReplaceAll
     word.Run "paste"
  
    j = j + 1
    
    Wend
    NameFile = iPath & Cells(i + 1, 1).Text & ".docx"
    word.ActiveDocument.SaveAs Filename:=NameFile
    word.ActiveDocument.Close
    word.Quit
    
    i = i + 1
   
    
Wend

End Sub
Таблица в эксель
Программашаблон.rar

Документ ворд
1234567.docx

проблема со вставкой данных в колонке dataprov
и колонке datdiag

пробывал переименовать, результат ноль
может кто поможет.
krot12348 вне форума Ответить с цитированием
Старый 26.07.2019, 16:15   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Попробуйте готовое решение для подобных задач:
http://excelvba.ru/programmes/FillDocuments
Там одну кнопку только нажать нужно будет
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
значение из экселя в переменную ворд staniiislav Microsoft Office Excel 17 14.02.2015 20:01
Макрос для вставки данных из экселя в ворд способом "по запросу" Radioalex Microsoft Office Word 0 17.04.2014 07:35
Перенос форм из Экселя в Ворд Nash1 Microsoft Office Word 5 07.07.2009 06:32
Перенести таблицы Экселя в Ворд Nash1 Фриланс 5 02.07.2009 09:46
Копирование участка текста из Экселя в Ворд Devourer12345 Microsoft Office Excel 3 30.07.2008 08:13