Страницы: 1
RSS
Текст из ячеек в Excel вставить в текст в Word
 
подскажите, как можно сделать, чтобы данные внесённые в ячейки Excel вставлялись в установленные места в тексте сформированном в Word. Открыл Excel внёс данные в разные ячейки, нажал, например кнопку "Создать", автоматически открылся шаблон Word с текстом и вставились данные из Excel. Спасибо
 
Скорее это задача для Wordистов. В Word очень сложно позицировать слова на странице. А зачем так сложно. Форму можно и на листе Excel замутить.
 
Word. Меню Сервис - Письма и рассылки - Мастер слияния. База создаётся в Excel, отчёт в Word-документе, который Вы форматируете как угодно.
 
Я в Worde расставлял закладки и по ним вставлял текст
 
как-то так  
Sub Dopnik()  
 
   Dim wdApp As Object, wdDoc As Object ' объявляем переменные  
   Dim MainBooks As String ' имя файла ексел  
   Dim MainSheets As String  ' имя листа ексел  
     
   Const my_wdGoToBookmark = -1 ' для метода wdGoToBookmark  
 
   MainBooks = ThisWorkbook.Name  
   MainSheets = "договор"  
 
'Открываем Word и файл "dopdog.rtf" (позднее связывание)  
 
   Set wdApp = CreateObject("Word.Application")  
   On Error Resume Next  
 
'Если шаблон "dopdog.rtf" в другой папке, то прописать полный путь аргумента  
'Например ...Open("C:\Temp\dopdog.rtf")  
 
   Set wdDoc = wdApp.Documents.Open(ThisWorkbook.Path & "\dopdog.rtf")  
   If Err <> 0 Then  
       MsgBox "dopdog не найден"  
       Exit Sub  
   End If  
   wdApp.Visible = True  
 
'Заполняем договор  
' ВНИМАНИЕ! Надо самому определять константу  
     
   With wdApp.Selection  
       .Goto What:=my_wdGoToBookmark, Name:="Дата" ' закладка в документе Word  
           .TypeText Workbooks(MainBooks).Worksheets(MainSheets).Range("Дата").Text  
       .Goto What:=my_wdGoToBookmark, Name:="Номер"  
           .TypeText Workbooks(MainBooks).Worksheets(MainSheets).Range("Номер").Text  
 
     
   End With  
 
'Уничтожим созданные объекты (освобождая используемую память)  
 
   Set wdApp = Nothing  
   Set wdDoc = Nothing  
 
End Sub
 
{quote}{login=VovaK}{date=10.11.2009 10:08}{thema=}{post}Скорее это задача для Wordистов. В Word очень сложно позицировать слова на странице. А зачем так сложно. Форму можно и на листе Excel замутить.{/post}{/quote}  
в Экселе неудобно шаблоны с текстом делать они стрёмные получаются
 
{quote}{login=DimBaks}{date=10.11.2009 10:57}{thema=}{post}как-то так  
Sub Dopnik()  
 
   Dim wdApp As Object, wdDoc As Object ' объявляем переменные  
   Dim MainBooks As String ' имя файла ексел  
   Dim MainSheets As String  ' имя листа ексел  
     
   Const my_wdGoToBookmark = -1 ' для метода wdGoToBookmark  
 
   MainBooks = ThisWorkbook.Name  
   MainSheets = "договор"  
 
'Открываем Word и файл "dopdog.rtf" (позднее связывание)  
 
   Set wdApp = CreateObject("Word.Application")  
   On Error Resume Next  
 
'Если шаблон "dopdog.rtf" в другой папке, то прописать полный путь аргумента  
'Например ...Open("C:\Temp\dopdog.rtf")  
 
   Set wdDoc = wdApp.Documents.Open(ThisWorkbook.Path & "\dopdog.rtf")  
   If Err <> 0 Then  
       MsgBox "dopdog не найден"  
       Exit Sub  
   End If  
   wdApp.Visible = True  
 
'Заполняем договор  
' ВНИМАНИЕ! Надо самому определять константу  
     
   With wdApp.Selection  
       .Goto What:=my_wdGoToBookmark, Name:="Дата" ' закладка в документе Word  
           .TypeText Workbooks(MainBooks).Worksheets(MainSheets).Range("Дата").Text  
       .Goto What:=my_wdGoToBookmark, Name:="Номер"  
           .TypeText Workbooks(MainBooks).Worksheets(MainSheets).Range("Номер").Text  
 
     
   End With  
 
'Уничтожим созданные объекты (освобождая используемую память)  
 
   Set wdApp = Nothing  
   Set wdDoc = Nothing  
 
End Sub{/post}{/quote}  
А фаил с примером есть, а то до меня этот текст очень долго будет доходить, желательно с пояснениями. Спасибо
 
Файл с примером
 
Вообще-то, через Письма и рассылки удобнее. Я тоже сначала делал на закладках. С ними хорошо, если немного значений. А если много - лучше рассылками. Я на этом спотыкался.
Страницы: 1
Читают тему
Наверх