Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Копирование данных из формы в документ ворд - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Копирование данных из формы в документ ворд
Skorpika Дата: Четверг, 22.01.2015, 22:11 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003 и 13
Подскажите как записать в Ворд документ данные с заполненной формы
[vba]
Код
'2. Заполнение данных в Файл архива корректировки

       ActiveDocument.TextBox1.Value = UF1.ComboBox1.Value 'Номер Участка
       ActiveDocument.TextBox2.Value = UF1.ComboBox3.Value 'Дата запроса
       ActiveDocument.TextBox3.Value = UF1.TextBox2.Value 'Номер дела
       ActiveDocument.TextBox4.Value = UF1.ComboBox4.Value 'Истец
       ActiveDocument.TextBox6.Value = UF1.ComboBox5.Value 'Предмет иска
          
       'Ответчики
           For i = 1 To 10
               Klient & i.Value = UF1.TXBclient & i.Value 'ФИО Клиента
               Rojd & i.Value = UF1.TXBclientBorn & i.Value 'Дата рождения Клиента
               MestoRojd & i.Value = UF1.TXBclientUroj & i.Value 'Место рождения Клиента
           Next i
          

'.  Сохраняем файл как "..."
       ChangeFileOpenDirectory "C:\Тест ВБ\Архив корректировки"
          
       ActiveDocument.SaveAs FileName:="Дело № " + UF1.TextBox2.Value + ".doc"

'. Закрываем файл "..."
       ActiveDocument.Close
[/vba]

Заполнение когда конкретные адреса - работает без проблем, а вот как правильно прописать тело цикла (Ответчики)?
Ми.Контрол не помогает, или я его не правильно прописываю
Klient Rojd MestoRojd - Текстбоксы


Сообщение отредактировал Skorpika - Четверг, 22.01.2015, 22:37
 
Ответить
СообщениеПодскажите как записать в Ворд документ данные с заполненной формы
[vba]
Код
'2. Заполнение данных в Файл архива корректировки

       ActiveDocument.TextBox1.Value = UF1.ComboBox1.Value 'Номер Участка
       ActiveDocument.TextBox2.Value = UF1.ComboBox3.Value 'Дата запроса
       ActiveDocument.TextBox3.Value = UF1.TextBox2.Value 'Номер дела
       ActiveDocument.TextBox4.Value = UF1.ComboBox4.Value 'Истец
       ActiveDocument.TextBox6.Value = UF1.ComboBox5.Value 'Предмет иска
          
       'Ответчики
           For i = 1 To 10
               Klient & i.Value = UF1.TXBclient & i.Value 'ФИО Клиента
               Rojd & i.Value = UF1.TXBclientBorn & i.Value 'Дата рождения Клиента
               MestoRojd & i.Value = UF1.TXBclientUroj & i.Value 'Место рождения Клиента
           Next i
          

'.  Сохраняем файл как "..."
       ChangeFileOpenDirectory "C:\Тест ВБ\Архив корректировки"
          
       ActiveDocument.SaveAs FileName:="Дело № " + UF1.TextBox2.Value + ".doc"

'. Закрываем файл "..."
       ActiveDocument.Close
[/vba]

Заполнение когда конкретные адреса - работает без проблем, а вот как правильно прописать тело цикла (Ответчики)?
Ми.Контрол не помогает, или я его не правильно прописываю
Klient Rojd MestoRojd - Текстбоксы

Автор - Skorpika
Дата добавления - 22.01.2015 в 22:11
RAN Дата: Четверг, 22.01.2015, 23:37 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Предположительно 2 ошибки.
1. пишете в никуда.
2. читаете из ниоткуда.

Может, конечно, и больше.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Четверг, 22.01.2015, 23:37
 
Ответить
СообщениеПредположительно 2 ошибки.
1. пишете в никуда.
2. читаете из ниоткуда.

Может, конечно, и больше.

Автор - RAN
Дата добавления - 22.01.2015 в 23:37
Skorpika Дата: Четверг, 22.01.2015, 23:50 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003 и 13
RAN,
Всё здесь кроме "'Ответчики..." работает, просто оставил "Ответчиков" только чтобы Вам было понятно что и куда нужно вставить (экспериментов уже там достаточно).
Klient(i) Rojd(i) MestoRojd(i) - Текстбоксы в активном листе ворд (там табличка 3*10 из 10 таких пустых строк), данные в них вставляем из заполненных текстбоксов с формы UF1.
К сообщению приложен файл: 2540921.jpg (46.0 Kb) · 9237709.jpg (32.1 Kb)


Сообщение отредактировал Skorpika - Пятница, 23.01.2015, 00:07
 
Ответить
СообщениеRAN,
Всё здесь кроме "'Ответчики..." работает, просто оставил "Ответчиков" только чтобы Вам было понятно что и куда нужно вставить (экспериментов уже там достаточно).
Klient(i) Rojd(i) MestoRojd(i) - Текстбоксы в активном листе ворд (там табличка 3*10 из 10 таких пустых строк), данные в них вставляем из заполненных текстбоксов с формы UF1.

Автор - Skorpika
Дата добавления - 22.01.2015 в 23:50
RAN Дата: Пятница, 23.01.2015, 00:42 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
данные в них вставляем из заполненных текстбоксов с формы

Ну так и вставляйте, если вставляются.
Я могу и ошибаться. Но вряд-ли.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Пятница, 23.01.2015, 00:43
 
Ответить
Сообщение
данные в них вставляем из заполненных текстбоксов с формы

Ну так и вставляйте, если вставляются.
Я могу и ошибаться. Но вряд-ли.

Автор - RAN
Дата добавления - 23.01.2015 в 00:42
Skorpika Дата: Пятница, 23.01.2015, 00:46 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003 и 13
Ну можно и так...
[vba]
Код
For i = 1 To 1
           ActiveDocument.Klient1.Value = UF1.TXBclient1.Value
           ActiveDocument.Rojd1.Value = UF1.TXBclientBorn1.Value
           ActiveDocument.MestoRojd1.Value = UF1.TXBclientUroj1.Value
           ActiveDocument.Projiv1.Value = UF1.TXBclientProjev1.Value
               If UF1.KolVoClientS = 1 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient2.Value = UF1.TXBclient2.Value
           ActiveDocument.Rojd2.Value = UF1.TXBclientBorn2.Value
           ActiveDocument.MestoRojd2.Value = UF1.TXBclientUroj2.Value
           ActiveDocument.Projiv2.Value = UF1.TXBclientProjev2.Value
               If UF1.KolVoClientS = 2 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient3.Value = UF1.TXBclient3.Value
           ActiveDocument.Rojd3.Value = UF1.TXBclientBorn3.Value
           ActiveDocument.MestoRojd3.Value = UF1.TXBclientUroj3.Value
           ActiveDocument.Projiv3.Value = UF1.TXBclientProjev3.Value
               If UF1.KolVoClientS = 3 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient4.Value = UF1.TXBclient4.Value
           ActiveDocument.Rojd4.Value = UF1.TXBclientBorn4.Value
           ActiveDocument.MestoRojd4.Value = UF1.TXBclientUroj4.Value
           ActiveDocument.Projiv4.Value = UF1.TXBclientProjev4.Value
               If UF1.KolVoClientS = 4 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient5.Value = UF1.TXBclient5.Value
           ActiveDocument.Rojd5.Value = UF1.TXBclientBorn5.Value
           ActiveDocument.MestoRojd5.Value = UF1.TXBclientUroj5.Value
           ActiveDocument.Projiv5.Value = UF1.TXBclientProjev5.Value
               If UF1.KolVoClientS = 5 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient6.Value = UF1.TXBclient6.Value
           ActiveDocument.Rojd6.Value = UF1.TXBclientBorn6.Value
           ActiveDocument.MestoRojd6.Value = UF1.TXBclientUroj6.Value
           ActiveDocument.Projiv6.Value = UF1.TXBclientProjev6.Value
               If UF1.KolVoClientS = 6 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient7.Value = UF1.TXBclient7.Value
           ActiveDocument.Rojd7.Value = UF1.TXBclientBorn7.Value
           ActiveDocument.MestoRojd7.Value = UF1.TXBclientUroj7.Value
           ActiveDocument.Projiv7.Value = UF1.TXBclientProjev7.Value
               If UF1.KolVoClientS = 7 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient8.Value = UF1.TXBclient8.Value
           ActiveDocument.Rojd8.Value = UF1.TXBclientBorn8.Value
           ActiveDocument.MestoRojd8.Value = UF1.TXBclientUroj8.Value
           ActiveDocument.Projiv8.Value = UF1.TXBclientProjev8.Value
               If UF1.KolVoClientS = 8 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient9.Value = UF1.TXBclient9.Value
           ActiveDocument.Rojd9.Value = UF1.TXBclientBorn9.Value
           ActiveDocument.MestoRojd9.Value = UF1.TXBclientUroj9.Value
           ActiveDocument.Projiv9.Value = UF1.TXBclientProjev9.Value
               If UF1.KolVoClientS = 9 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient10.Value = UF1.TXBclient10.Value
           ActiveDocument.Rojd10.Value = UF1.TXBclientBorn10.Value
           ActiveDocument.MestoRojd10.Value = UF1.TXBclientUroj10.Value
           ActiveDocument.Projiv10.Value = UF1.TXBclientProjev10.Value
           

       Next i
[/vba]

Только циклом может всё таки проще? как грамотно прописать цикл?


Сообщение отредактировал Skorpika - Пятница, 23.01.2015, 01:03
 
Ответить
СообщениеНу можно и так...
[vba]
Код
For i = 1 To 1
           ActiveDocument.Klient1.Value = UF1.TXBclient1.Value
           ActiveDocument.Rojd1.Value = UF1.TXBclientBorn1.Value
           ActiveDocument.MestoRojd1.Value = UF1.TXBclientUroj1.Value
           ActiveDocument.Projiv1.Value = UF1.TXBclientProjev1.Value
               If UF1.KolVoClientS = 1 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient2.Value = UF1.TXBclient2.Value
           ActiveDocument.Rojd2.Value = UF1.TXBclientBorn2.Value
           ActiveDocument.MestoRojd2.Value = UF1.TXBclientUroj2.Value
           ActiveDocument.Projiv2.Value = UF1.TXBclientProjev2.Value
               If UF1.KolVoClientS = 2 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient3.Value = UF1.TXBclient3.Value
           ActiveDocument.Rojd3.Value = UF1.TXBclientBorn3.Value
           ActiveDocument.MestoRojd3.Value = UF1.TXBclientUroj3.Value
           ActiveDocument.Projiv3.Value = UF1.TXBclientProjev3.Value
               If UF1.KolVoClientS = 3 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient4.Value = UF1.TXBclient4.Value
           ActiveDocument.Rojd4.Value = UF1.TXBclientBorn4.Value
           ActiveDocument.MestoRojd4.Value = UF1.TXBclientUroj4.Value
           ActiveDocument.Projiv4.Value = UF1.TXBclientProjev4.Value
               If UF1.KolVoClientS = 4 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient5.Value = UF1.TXBclient5.Value
           ActiveDocument.Rojd5.Value = UF1.TXBclientBorn5.Value
           ActiveDocument.MestoRojd5.Value = UF1.TXBclientUroj5.Value
           ActiveDocument.Projiv5.Value = UF1.TXBclientProjev5.Value
               If UF1.KolVoClientS = 5 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient6.Value = UF1.TXBclient6.Value
           ActiveDocument.Rojd6.Value = UF1.TXBclientBorn6.Value
           ActiveDocument.MestoRojd6.Value = UF1.TXBclientUroj6.Value
           ActiveDocument.Projiv6.Value = UF1.TXBclientProjev6.Value
               If UF1.KolVoClientS = 6 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient7.Value = UF1.TXBclient7.Value
           ActiveDocument.Rojd7.Value = UF1.TXBclientBorn7.Value
           ActiveDocument.MestoRojd7.Value = UF1.TXBclientUroj7.Value
           ActiveDocument.Projiv7.Value = UF1.TXBclientProjev7.Value
               If UF1.KolVoClientS = 7 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient8.Value = UF1.TXBclient8.Value
           ActiveDocument.Rojd8.Value = UF1.TXBclientBorn8.Value
           ActiveDocument.MestoRojd8.Value = UF1.TXBclientUroj8.Value
           ActiveDocument.Projiv8.Value = UF1.TXBclientProjev8.Value
               If UF1.KolVoClientS = 8 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient9.Value = UF1.TXBclient9.Value
           ActiveDocument.Rojd9.Value = UF1.TXBclientBorn9.Value
           ActiveDocument.MestoRojd9.Value = UF1.TXBclientUroj9.Value
           ActiveDocument.Projiv9.Value = UF1.TXBclientProjev9.Value
               If UF1.KolVoClientS = 9 Then
               Exit For
               Else
               End If
           ActiveDocument.Klient10.Value = UF1.TXBclient10.Value
           ActiveDocument.Rojd10.Value = UF1.TXBclientBorn10.Value
           ActiveDocument.MestoRojd10.Value = UF1.TXBclientUroj10.Value
           ActiveDocument.Projiv10.Value = UF1.TXBclientProjev10.Value
           

       Next i
[/vba]

Только циклом может всё таки проще? как грамотно прописать цикл?

Автор - Skorpika
Дата добавления - 23.01.2015 в 00:46
Skorpika Дата: Пятница, 23.01.2015, 19:15 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003 и 13
Хорошо, может так буде проще. В приложенном файле нужно при нажатии кнопки на форме циклом перенести данные с формы в документ WORD.
Подскажите командную строку спецы.
К сообщению приложен файл: 4217365.doc (52.5 Kb)
 
Ответить
СообщениеХорошо, может так буде проще. В приложенном файле нужно при нажатии кнопки на форме циклом перенести данные с формы в документ WORD.
Подскажите командную строку спецы.

Автор - Skorpika
Дата добавления - 23.01.2015 в 19:15
RAN Дата: Пятница, 23.01.2015, 20:34 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Как прочитать, смотрите здесь.
И тектбоксы в вашем файле не работает.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеКак прочитать, смотрите здесь.
И тектбоксы в вашем файле не работает.

Автор - RAN
Дата добавления - 23.01.2015 в 20:34
Skorpika Дата: Пятница, 23.01.2015, 22:08 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003 и 13
RAN, сорь, что значит не работают чекбоксы в ворде?
ну вот второй вариант файла, перебором все работает, но мне нужен цикл, Me.Control в форме работает нормально, а вот в док-те ворд я не знаю как правильно прописать переменную цикла i с активный документом. Ну или так: в ворде 2003 и 2013 работает (кроме цикла) всё прекрасно
К сообщению приложен файл: 4662033.doc (56.5 Kb)


Сообщение отредактировал Skorpika - Пятница, 23.01.2015, 22:11
 
Ответить
СообщениеRAN, сорь, что значит не работают чекбоксы в ворде?
ну вот второй вариант файла, перебором все работает, но мне нужен цикл, Me.Control в форме работает нормально, а вот в док-те ворд я не знаю как правильно прописать переменную цикла i с активный документом. Ну или так: в ворде 2003 и 2013 работает (кроме цикла) всё прекрасно

Автор - Skorpika
Дата добавления - 23.01.2015 в 22:08
RAN Дата: Пятница, 23.01.2015, 22:30 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениепознакомьтесь поближе

Автор - RAN
Дата добавления - 23.01.2015 в 22:30
Skorpika Дата: Пятница, 23.01.2015, 22:38 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003 и 13
То есть у вас форма не работает?
 
Ответить
СообщениеТо есть у вас форма не работает?

Автор - Skorpika
Дата добавления - 23.01.2015 в 22:38
RAN Дата: Пятница, 23.01.2015, 22:48 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Форма работает. А поля нет.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеФорма работает. А поля нет.

Автор - RAN
Дата добавления - 23.01.2015 в 22:48
RAN Дата: Пятница, 23.01.2015, 23:00 | Сообщение № 12
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Бросай грязную работу, пошли уголь грузить. :D
К сообщению приложен файл: 5259939.doc (45.5 Kb)


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеБросай грязную работу, пошли уголь грузить. :D

Автор - RAN
Дата добавления - 23.01.2015 в 23:00
Skorpika Дата: Суббота, 24.01.2015, 21:45 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003 и 13
Андрей, может ты и прав, иной раз лучше уголь разгрузить, чем рабочий фрагмент программы написать...
Просто это контрольный файл, то есть прога в шаблон документа вносит данные людей (до 16 человек), создает и заполняет несколько одинаковых документов (меняется только адрес получателя запроса), и как правило в 10% случаев во вносимых данных случается опечатка, если заметили пока прога работает, исправляют и всё, а когда замечают ошибку в готовых документах при упаковывании в конверт, то тут уже тоскливее, ради 1 буквы нужно всех заново вбивать или открывать с десяток сохраненных запросов и исправлять в ручную в каждом файле. Вот и пришлось решать, создавать файл, где просто содержаться данные которые вносились, форма открывает этот "контрольный" файл (с заначкой введенных ранее данных), расставляет по местам, исправляешь ошибку и одним кликом все снова сформировано, распечатано, сохранено, закрыто.
Этот контрольный файл и сейчас существует и работает оч чудненько. Просто глядя на строки программы тоска берет. Там прога рассчитана на 16 человек по 4 Текстбокса на каждого (фио, дата рожд, место рожд, прож.) по итогу 64 Тбокса плюс ещё пара-тройка общих данных. И перенос этих данных туда и, при необходимости обратно занимает в моем варианте 6 общих Тбоксов и 4*16 по людям. Перенос (в моем варианте) занимает 6 строк программы (общий перенос) + 10 строк на каждого. По итогу 6+160= 166 строк программы. А мне просто хотелось бы 6 общих данных + 6 строк на данные людей (1.фор и=1... 2.активдокумент.контрол.ФИО"и"=юзерформ.контрол.ФИО"и"... 3. по дате рожд тоже... 4. по месту рожд... 5.прожив... 6. некст И... ) Итого 12 строк. 12<166 вот и суть проблемы. Ладно, хрен с ней, с этой горой.... обойдём её, сделаю контрольный файл в экселе, ведь он всё одно нигде не участвует.
в любом случае спс, Ran, плюсик добавил :)


Сообщение отредактировал Skorpika - Суббота, 24.01.2015, 21:45
 
Ответить
СообщениеАндрей, может ты и прав, иной раз лучше уголь разгрузить, чем рабочий фрагмент программы написать...
Просто это контрольный файл, то есть прога в шаблон документа вносит данные людей (до 16 человек), создает и заполняет несколько одинаковых документов (меняется только адрес получателя запроса), и как правило в 10% случаев во вносимых данных случается опечатка, если заметили пока прога работает, исправляют и всё, а когда замечают ошибку в готовых документах при упаковывании в конверт, то тут уже тоскливее, ради 1 буквы нужно всех заново вбивать или открывать с десяток сохраненных запросов и исправлять в ручную в каждом файле. Вот и пришлось решать, создавать файл, где просто содержаться данные которые вносились, форма открывает этот "контрольный" файл (с заначкой введенных ранее данных), расставляет по местам, исправляешь ошибку и одним кликом все снова сформировано, распечатано, сохранено, закрыто.
Этот контрольный файл и сейчас существует и работает оч чудненько. Просто глядя на строки программы тоска берет. Там прога рассчитана на 16 человек по 4 Текстбокса на каждого (фио, дата рожд, место рожд, прож.) по итогу 64 Тбокса плюс ещё пара-тройка общих данных. И перенос этих данных туда и, при необходимости обратно занимает в моем варианте 6 общих Тбоксов и 4*16 по людям. Перенос (в моем варианте) занимает 6 строк программы (общий перенос) + 10 строк на каждого. По итогу 6+160= 166 строк программы. А мне просто хотелось бы 6 общих данных + 6 строк на данные людей (1.фор и=1... 2.активдокумент.контрол.ФИО"и"=юзерформ.контрол.ФИО"и"... 3. по дате рожд тоже... 4. по месту рожд... 5.прожив... 6. некст И... ) Итого 12 строк. 12<166 вот и суть проблемы. Ладно, хрен с ней, с этой горой.... обойдём её, сделаю контрольный файл в экселе, ведь он всё одно нигде не участвует.
в любом случае спс, Ran, плюсик добавил :)

Автор - Skorpika
Дата добавления - 24.01.2015 в 21:45
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!