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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 07.02.2008, 10:35   #1
Dimon_isu
 
Регистрация: 30.01.2008
Сообщений: 3
Восклицание Копирование данных из Excell в Word

Народ, помогите!
Проблема такая, у меня в базе данных табличка,
загрузить данные из нее получается в Excell,
теперь надо их скопировать в WORD,
как это сделать через макрос, чтоб автоматически было,
очень надо.

Причем, у меня таблица в макросе меняется при изменении клиента, я создал такое кол-во документов (макетов), сколько клиентов и теперь надо их открывать и вставлять нужную таблицу.

Как открывать Excell, тоже макеты я знаю, а вот как в WORD не знаю, очень жду.
Dimon_isu вне форума
Старый 07.02.2008, 21:50   #2
Insainer
Пользователь
 
Аватар для Insainer
 
Регистрация: 27.01.2008
Сообщений: 51
Стрелка Копировальщик

Может из Access сразу в Word?
"Программисты - это люди, которые решают методами, которые вы не понимаете проблемы, о которых даже не подозревали"
Insainer вне форума
Старый 08.02.2008, 09:51   #3
Insainer
Пользователь
 
Аватар для Insainer
 
Регистрация: 27.01.2008
Сообщений: 51
Стрелка Копировальщик

Из таблицы Access программно в Word так делается:

Код:
Private Sub Кнопка22_Click()
'создание связи, объектов для ADODB
    Dim conn As ADODB.connection
    Set conn = CurrentProject.connection
    Dim recset As ADODB.Recordset
    Set recset = New ADODB.Recordset
    Dim row_num, col_num As Integer
    Dim word_doc As Object
    'Предполагается, что документ Word находится в том же каталоге,
    'если это не так - необходимо задать правильный путь
        Set word_doc = GetObject(Application.CurrentProject.Path & "\Склад.doc")
    'Получение данных из таблицы Access
        recset.Open "Select * From Складские_операции", _
            conn, adOpenKeyset, adLockOptimistic
    'Получение числа записей для использования при создании таблицы Word
        recset.MoveLast
        recset.MoveFirst
    
    With word_doc
    'Создание закладки с названием "Склад" текущее положение курсора
    .Bookmarks.Add Name:="Склад"
    'переход к закладке Word и создание таблицы
    .Bookmarks("Склад").Select
    'создание таблицы, количество строк таблицы совпадает с показанием счетчика записей
    'количество столбцов таблицы совпадает с количеством полей набора записей
    .Tables.Add Range:=Selection.Range, _
        NumRows:=recset.RecordCount, NumColumns:=recset.Fields.Count
    'последовательное заполнение таблицы данными из объекта Recordset с записями
            For row_num = 1 To recset.RecordCount
                For col_num = 1 To recset.Fields.Count
                    .Tables(.Tables.Count).Cell(row_num, col_num).Select
        'если поле пусто, то вносится пустая строка
                If IsNull(recset.Fields(col_num - 1)) Then
                Selection.TypeText Text:=Nz(recset.Fields(col_num - 1), "")
                Else
                Selection.TypeText recset.Fields(col_num - 1)
                End If
        'переход к следующему полю
            Next col_num
            'переход к следующей записи объекта Recordset
                    recset.MoveNext
            'переход к следующей строке таблицы
            Next row_num
    End With
        recset.Close
            Set recset = Nothing
            Set word_doc = Nothing
            MsgBox "Готово!"
End Sub
"Программисты - это люди, которые решают методами, которые вы не понимаете проблемы, о которых даже не подозревали"
Insainer вне форума
Старый 08.02.2008, 12:11   #4
Dimon_isu
 
Регистрация: 30.01.2008
Сообщений: 3
Сообщение Нужно именно из Excell

Дело в том, что над таблицей, перед тем как выгрузить в
Excell я делаю различные выборки, а уже их результаты надо в
документ, может как то можно так.
Dimon_isu вне форума
Старый 08.02.2008, 16:07   #5
Insainer
Пользователь
 
Аватар для Insainer
 
Регистрация: 27.01.2008
Сообщений: 51
Стрелка Копировальщик

Ну вы завернули, из Access в Excel, из Excel в Word немножко, чуть-чуть обратно в Access и все нажатием волшебной кнопки. Выложите хотя бы Excel файл и объясните что откуда и куда перебросить, есть множество способов, массивом зажевать нужные данные, например, затем в Word. Как? Пример есть, только чуть-чуть подработать...
"Программисты - это люди, которые решают методами, которые вы не понимаете проблемы, о которых даже не подозревали"
Insainer вне форума
Старый 11.02.2008, 06:51   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите один из возможных примеров. Вместо условного шаблона "Pattern.doc" укажите ссылку на Ваш файл шаблона Word-документа. Подробные комментарии в VBA-коде вложенного файла
Вложения
Тип файла: rar InsertWord.rar (7.4 Кб, 66 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 13.02.2008, 17:38   #7
Insainer
Пользователь
 
Аватар для Insainer
 
Регистрация: 27.01.2008
Сообщений: 51
По умолчанию

Респект SAS888... Пробовал точно также сделать с выделением, не нашел выражения типа SendKeys "+{Insert}", True, узнал много нового...
"Программисты - это люди, которые решают методами, которые вы не понимаете проблемы, о которых даже не подозревали"
Insainer вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
копирование данных из таблицы в таблицу Sack Microsoft Office Access 1 16.09.2008 05:59
Копировать данные из Excell в Word Dimon_isu Microsoft Office Excel 3 15.05.2008 12:12
Копирование данных из реестра delphin100 Общие вопросы Delphi 5 06.05.2008 16:36
Копирование данных из одной таблицы в другую! фЁдОр БД в Delphi 18 06.01.2008 19:27