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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2010, 21:22   #1
klimov0512
 
Регистрация: 17.08.2010
Сообщений: 9
По умолчанию значение ячейки из Excel в Word

Доброго времени суток!
Следующая ситуация: Открыт Excel. В ячейку листа введено значение. На листе расположена командная кнопка.
При нажатии на эту кнопку открываю файл *.doc в Worde в котором, допустим, создана таблица(2,2). Как, при нажатии на кнопку значение ячейки из Excel записалось в ячейке таблицы Word?
klimov0512 вне форума Ответить с цитированием
Старый 17.08.2010, 22:20   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Где Doc-документ Ворд
Tables(1)-первая таблица
Cell(1, 2)-ячейка таблицы первая строка ,второй столбец
Код:
Doc.Tables(1).Cell(1, 1).Range.Text = 1
Doc.Tables(1).Cell(1, 2).Range.Text = 2
Doc.Tables(1).Cell(2, 1).Range.Text = 11
Doc.Tables(1).Cell(2, 2).Range.Text = 12
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 18.08.2010, 07:01   #3
klimov0512
 
Регистрация: 17.08.2010
Сообщений: 9
По умолчанию

Не понимаю каким образом значение в ячейке из открытого Excel перенесется в открываемый Word. Такое вообще возможно?
klimov0512 вне форума Ответить с цитированием
Старый 18.08.2010, 09:16   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:
Sub test()

      Dim WA As Object
       Dim DOK As Object


    Dim f As String
    f = "C:\Документ ваш.doc"
    
    Set x = ThisWorkbook.Sheets(1)
   
    Set WA = CreateObject("word.application")
   Set DOK = WA.Documents.Open(f)
        WA.Visible = True
     
 Doc.Tables(1).Cell(1, 1).Range.Text = x.Range("A1")
Doc.Tables(1).Cell(1, 2).Range.Text = x.Range("B1")
Doc.Tables(1).Cell(2, 1).Range.Text = x.Range("A2")
Doc.Tables(1).Cell(2, 2).Range.Text = x.Range("B2")

             DOK.Save
       
         WA.Quit
  
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 18.08.2010, 19:57   #5
klimov0512
 
Регистрация: 17.08.2010
Сообщений: 9
По умолчанию

Выдает ошибку 424 при выполнении кода на строке
Doc.Tables(1).Cell(1, 1).Range.Text = x.Range("A1")
Что не так?
klimov0512 вне форума Ответить с цитированием
Старый 18.08.2010, 19:59   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Что не так?
После того, как вы создали документ "C:\Документ ваш.doc",
Вы не забыли добавить в него таблицу размерами не менее 2*2?

PS: Внимательно изучив код, вы сможете исправить в нем пару опечаток, - и всё заработает.


------------------ добавлено позже --------------------------
Цитата:
Сделал программу для заполнения документов данными из таблицы Excel (из Excel в Word)

--------------------
Надстройка предназначена для формирования (подготовки) документов по шаблонам, с заполнением созданных файлов данными из текущей книги Excel.

В качестве шаблонов могут выступать следующие типы файлов:
  • документы Word (расширения DOC, DOCX, DOCM)
  • шаблоны Word (расширения DOT, DOTX, DOTM)
  • книги Excel (расширения XLS, XLSX, XLSM, XLSB)
  • шаблоны Excel (расширения XLT, XLTX, XLTM)
  • текстовые документы (расширения TXT, DAT, XML и т.д.)

В качестве исходных данных для заполнения, используется открытый в Excel файл (с таблицей, содержащей строку заголовка)

Количество шаблонов документов не ограничено

--------------------------------
В каких случаях вам может пригодиться эта надстройка:
  • если у вас в таблице Excel хранится список контрагентов (с их реквизитами), и вы хотите нажатием одной кнопки формировать договоры, акты или коммерческие предложения для каждого из них
  • если в вашей таблице Excel хранятся паспортные данные сотрудников, и вам необходимо быстро сформировать по шаблону приказы или прочие документы в формате Word, заполнив созданные документы данными сотрудников
  • подготовить письма, уведомления, грамоты в формате PDF или Word, заполнив созданные файлы информацией с листа Excel
  • и т.д. и т.п. - надстройку можно применять для создания любых документов на основе данных из Excel
--------------------------------

Скачать надстройку можно здесь:
http://excelvba.ru/programmes/FillDocuments

Последний раз редактировалось EducatedFool; 28.03.2012 в 11:01.
EducatedFool вне форума Ответить с цитированием
Старый 18.08.2010, 20:10   #7
klimov0512
 
Регистрация: 17.08.2010
Сообщений: 9
По умолчанию

Разобрался!!! Большое СПАСИБО всем за то что откликнулись и помогли новичку.
klimov0512 вне форума Ответить с цитированием
Старый 18.08.2010, 21:24   #8
klimov0512
 
Регистрация: 17.08.2010
Сообщений: 9
По умолчанию

Еще возникла небольшая проблема.
В коде убрал Save для сохранения под другим именем. Открываю Word из Excel. Значения ячеек переносятся в таблицу Word. Всплывает окно с вопросом сохранить документ. Отмена. Сохраняю под другим именем. Закрываю Word.
Снова из Excel открываю Word, но в открывшемся документе значения ячеек не отображаются в таблице.
В редакторе VBA вплывает ошибка: 462 the remove server does not exist or is unavaible.
Останавливаю макрос, закрываю Word.
Снова запускаю Word из Excel, но теперь все в порядке и значения из ячеек записываются в таблице Word. И так через раз. Где что упущено?
klimov0512 вне форума Ответить с цитированием
Старый 19.08.2010, 01:21   #9
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
После того, как вы создали документ "C:\Документ ваш.doc",
Вы не забыли добавить в него таблицу размерами не менее 2*2?

PS: Внимательно изучив код, вы сможете исправить в нем пару опечаток, - и всё заработает.
Спасибо Игорь.Сначала не понял о опечатках.

Смотрите вложение,работает как вам надо
Вложения
Тип файла: rar Новая папка.rar (13.9 Кб, 41 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 27.08.2010, 13:33   #10
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

doober! А какой тип переменной x?
Jaroslav вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти значение на другом листе и подставить значение следующей ячейки ElenaNTro Microsoft Office Excel 12 11.02.2019 12:44
Сохранение книги Excel по названию ячейки и по пути ячейки IFRSoff Microsoft Office Excel 16 07.06.2012 16:58
Условие на значение ячейки AnnNet Microsoft Office Excel 2 22.01.2010 11:16
СУММЕСЛИ критерий значение ячейки Dmitrii2010 Microsoft Office Excel 4 12.01.2010 16:53
Округлить значение ячейки kzld Microsoft Office Excel 8 13.12.2009 11:58