Страницы: 1
RSS
Как сделать удобную форму, заполняя которую автоматически будет заполняться бланк договора?
 
Добрый день. Есть бланк договора с кучей пустых мест, которые нужно заполнять. Договоров приходится делать довольно много. Для удобства хотелось бы сделать некое всплывающее меню в котором будет таблица с нужными пунктами и пояснениями, где просто, к примеру напротив пункта "Ф.И.О." пустая строчка, где ты заполняешь данные, нжимаешь кнопку ОК и выплывает тебе заполненны бланк договора, где в нужном месте прописано это Ф.И.О. и прочие реквизиты.    
Думаю тем таких было достаточно, но поиск ничего подходящего не выдал, я наверное не умею искать.    
Выкладываю относительно удобный пример, который нашел здесь на сайте. Только нужно, чтобы похожая форма после заполнения заполняла поля в вордовском документе в разных местах. Причем бывает так, что одно и тоже значение нужно заполнить в нескольких разных местах в документе
 
Попробуйте поизучать в Word'e (справка, вызывается по F1) инструмент "Слияние". Погуглите еще. Думаю, поможет.
Кому решение нужно - тот пример и рисует.
 
Было уже где-то на планете, но искал и не нашёл..  
 
Sub Макрос1()  
 
Dim sOM As String, sDocNum As String  
Dim WordApp As Object  
 
   sOM = "G:\0. Шаблоны\Постановление.doc"  
   xData = Range("A1").Value  
   xFIO = Range("A2").Value  
   xS = Range("A3").Value  
   xAdr = Range("A4").Value  
   xVidIs = Range("A5").Value  
     
   'sOM = Range("B9").Value  
   'sDocNum = Range("B11").Value  
   On Error Resume Next  
   Set WordApp = GetObject(, "word.application")  
   If WordApp Is Nothing Then  
       Set WordApp = CreateObject("word.application")  
   End If  
   On Error GoTo 0  
   With WordApp  
       .Visible = True  
       .Documents.Open Filename:=sOM  
   End With  
   WordApp.ActiveDocument.Bookmarks("vData").Range.Text = xData  
   WordApp.ActiveDocument.Bookmarks("vFIO").Range.Text = xFIO  
   WordApp.ActiveDocument.Bookmarks("vS").Range.Text = xS  
   WordApp.ActiveDocument.Bookmarks("vAdr").Range.Text = xAdr  
   WordApp.ActiveDocument.Bookmarks("vVidIs").Range.Text = xVidIs  
   Set WordApp = Nothing  
 
End Sub  
 
Код берет из Excel данные ячеек и вставляет их в закладки в Word.
 
OceaN, код в файле Ваш?
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
понял "Выкладываю относительно удобный пример, который нашел здесь на сайте"
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
если меняется определенное колво мест в договоре, то лист БД и сам договор со СЦЕПИТЬ  
в БД выбираете нужную строку, все данные автоматом (можно ВПР) уходят в договор  
имеете в одном файле всю инфу  
примеры есть
 
Эммм простите пожалуйста, но я честно даже понятия не имею куда макрос вставлять.  
Понял что нужно будет в Экселе прописать где-то этот макрос и указать путь в макросе к файлу Ворда. А в ворде сделать некие "закладки". Вот тут мои познания и заканчиваются.    
Как сделать закладки в ворде и куда втыкать макрос.  
В идеале хочется сделать что-то подобное многим программам, когда заполняешь некие данные, нажимаешь кнопку печать или выгрузить и он в отдельном окне открывает тебе готовый файл с заполненными полями. Ну либо на крайняк сделать так, чтобы на одном листе экселя вылезала подобная менюшка, а на другом листе потом заполнялся договор. Но для этого варианта нужно чтобы договор был идеально вписан в эти ячейки на листе, что тоже займет немало времени
 
Если Ваш договор можно сделать в Экселе - тогда удобнее было бы всё иметь в одном файле, и даже можно всё без макросов сделать.  
Завели в базу клиента с номером, перешли на лист с договором, ввели там в ячейку этот номер - все остальные переменные поля заполняются из базы с помощью ВПР() на основе этого номера, можно отправлять на печать.  
Ну а если работаете с Вордом - то пример кода есть, а doc и его закладки - это уже Ваша работа, изучайте Help.  
Хотя и тогда можно сделать без макросов - изучайте Help и слияние или связь с Экселем - можно сделать, что Ворд сам берёт данные из определённых полей определённого xls, а их туда положит ВПР().  
Как-то так можно организовать.
Страницы: 1
Читают тему
Наверх