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

Вход

Регистрация

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

 

= Мир MS Excel/Вывод таблицы с данными по координатам, Вывод таблицы с данн - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Word » Вывод таблицы с данными по координатам, Вывод таблицы с данн (Макросы/Sub)
Вывод таблицы с данными по координатам, Вывод таблицы с данн
Slaventy Дата: Воскресенье, 11.11.2018, 18:32 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003
Здравствуйте.
Я не программист, но есть вопрос. У меня есть макросв excel, его задача взять данные из таблицы в excel и перенести их в шаблон word. Проблема в том, что если данных на одну страницу, то всё нормально, Таблица рисуется в Word по заданным координатам. А вот если данных в excel на две страницы, то в шаблоне word на первой странице таблица с данными рисуется по заданным координатам, а на второй и следующих страницах я задать координаты вывода таблицы с данными не могу.
Как задавать координаты вывода таблицы с данными в шабоне word на второй и прочих страницах?
Файлы приложил
К сообщению приложен файл: Excel.zip(41.4 Kb)
 
Ответить
СообщениеЗдравствуйте.
Я не программист, но есть вопрос. У меня есть макросв excel, его задача взять данные из таблицы в excel и перенести их в шаблон word. Проблема в том, что если данных на одну страницу, то всё нормально, Таблица рисуется в Word по заданным координатам. А вот если данных в excel на две страницы, то в шаблоне word на первой странице таблица с данными рисуется по заданным координатам, а на второй и следующих страницах я задать координаты вывода таблицы с данными не могу.
Как задавать координаты вывода таблицы с данными в шабоне word на второй и прочих страницах?
Файлы приложил

Автор - Slaventy
Дата добавления - 11.11.2018 в 18:32
bmv98rus Дата: Воскресенье, 11.11.2018, 18:49 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1417
Репутация: 238 ±
Замечаний: 0% ±

Excel 2013/2016
 
Ответить
Сообщениекросс

Автор - bmv98rus
Дата добавления - 11.11.2018 в 18:49
RAN Дата: Понедельник, 12.11.2018, 20:20 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4889
Репутация: 974 ±
Замечаний: 0% ±

2010
Вам бы следовало прислушаться к сказанному Медведем на Планете, а не плодить дубликаты тем.
Поскольку тема Word там может быть удалена, дублирую тут.
Отрезал Excel. Тестируйте в Word'e.

[vba]
Код
Sub ConvertDoc()
    Const rowsOne = 25&
    Const rowsStep = 29&
    Dim n&, DocExcelMaxRow&
    '    ПутьШаблона = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, ИмяФайлаШаблона)
    '    FileName = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "NewDoc" & Get_Time & РасширениеСоздаваемыхФайлов)

    '    DocExcelMaxColomn = Cells.SpecialCells(xlLastCell).Column
    DocExcelMaxRow = 153    'Cells(Rows.Count, "A").End(xlUp).Row

    Dim WA As Object, WD As Object
    '    Set WA = CreateObject("Word.Application")    ' без подключения библиотеки Word
    Dim Table1 As Object
    Set WA = Application    ' без подключения библиотеки Word

    '    Set WD = WA.Documents.Add(ПутьШаблона)
    Set WD = WA.ActiveDocument
    WD.PageSetup.TopMargin = Application.CentimetersToPoints(3.7)    'отступ сверху
    WD.PageSetup.LeftMargin = Application.CentimetersToPoints(2.2)    'отступ слева

    '           Set Table1 = WD.Tables.Add(WD.Range(Start:=0, End:=0), 24, 9)  'рабочая
    Set Table1 = WD.Tables.Add(WD.Range(Start:=0, End:=0), DocExcelMaxRow, 9)  'рабочая

    With Table1
        .Borders.OutsideLineStyle = 1  'Работает
        .Borders.InsideLineStyle = 1   'Работает
        .Rows.Height = Application.CentimetersToPoints(0.8)
        .Columns(1).Width = Application.CentimetersToPoints(2)    '1-й столбец
        .Columns(2).Width = Application.CentimetersToPoints(13)    '2-й столбец
        .Columns(3).Width = Application.CentimetersToPoints(6)    '3-й столбец
        .Columns(4).Width = Application.CentimetersToPoints(3.5)    '4-й столбец
        .Columns(5).Width = Application.CentimetersToPoints(4.5)    '5-й столбец
        .Columns(6).Width = Application.CentimetersToPoints(2)    '6-й столбец
        .Columns(7).Width = Application.CentimetersToPoints(2)    '7-й столбец
        .Columns(8).Width = Application.CentimetersToPoints(2.5)    '8-й столбец
        .Columns(9).Width = Application.CentimetersToPoints(4)    '9-й столбец

        n = rowsOne
        Do While n < DocExcelMaxRow - 1
            .Cell(n, 1).Select
            Selection.ParagraphFormat.PageBreakBefore = wdToggle
            n = n + rowsStep
            DoEvents
        Loop

        .Cell(1, 2) = "nnn"
        .Cell(1, 3) = "55ggg"
    End With

    '            WD.SaveAs FileName
    '
    '    WD.Close False    ' False - без сохранения
    '    WA.Quit False
    '    MsgBox "Выгружено в word."

End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВам бы следовало прислушаться к сказанному Медведем на Планете, а не плодить дубликаты тем.
Поскольку тема Word там может быть удалена, дублирую тут.
Отрезал Excel. Тестируйте в Word'e.

[vba]
Код
Sub ConvertDoc()
    Const rowsOne = 25&
    Const rowsStep = 29&
    Dim n&, DocExcelMaxRow&
    '    ПутьШаблона = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, ИмяФайлаШаблона)
    '    FileName = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "NewDoc" & Get_Time & РасширениеСоздаваемыхФайлов)

    '    DocExcelMaxColomn = Cells.SpecialCells(xlLastCell).Column
    DocExcelMaxRow = 153    'Cells(Rows.Count, "A").End(xlUp).Row

    Dim WA As Object, WD As Object
    '    Set WA = CreateObject("Word.Application")    ' без подключения библиотеки Word
    Dim Table1 As Object
    Set WA = Application    ' без подключения библиотеки Word

    '    Set WD = WA.Documents.Add(ПутьШаблона)
    Set WD = WA.ActiveDocument
    WD.PageSetup.TopMargin = Application.CentimetersToPoints(3.7)    'отступ сверху
    WD.PageSetup.LeftMargin = Application.CentimetersToPoints(2.2)    'отступ слева

    '           Set Table1 = WD.Tables.Add(WD.Range(Start:=0, End:=0), 24, 9)  'рабочая
    Set Table1 = WD.Tables.Add(WD.Range(Start:=0, End:=0), DocExcelMaxRow, 9)  'рабочая

    With Table1
        .Borders.OutsideLineStyle = 1  'Работает
        .Borders.InsideLineStyle = 1   'Работает
        .Rows.Height = Application.CentimetersToPoints(0.8)
        .Columns(1).Width = Application.CentimetersToPoints(2)    '1-й столбец
        .Columns(2).Width = Application.CentimetersToPoints(13)    '2-й столбец
        .Columns(3).Width = Application.CentimetersToPoints(6)    '3-й столбец
        .Columns(4).Width = Application.CentimetersToPoints(3.5)    '4-й столбец
        .Columns(5).Width = Application.CentimetersToPoints(4.5)    '5-й столбец
        .Columns(6).Width = Application.CentimetersToPoints(2)    '6-й столбец
        .Columns(7).Width = Application.CentimetersToPoints(2)    '7-й столбец
        .Columns(8).Width = Application.CentimetersToPoints(2.5)    '8-й столбец
        .Columns(9).Width = Application.CentimetersToPoints(4)    '9-й столбец

        n = rowsOne
        Do While n < DocExcelMaxRow - 1
            .Cell(n, 1).Select
            Selection.ParagraphFormat.PageBreakBefore = wdToggle
            n = n + rowsStep
            DoEvents
        Loop

        .Cell(1, 2) = "nnn"
        .Cell(1, 3) = "55ggg"
    End With

    '            WD.SaveAs FileName
    '
    '    WD.Close False    ' False - без сохранения
    '    WA.Quit False
    '    MsgBox "Выгружено в word."

End Sub
[/vba]

Автор - RAN
Дата добавления - 12.11.2018 в 20:20
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Word » Вывод таблицы с данными по координатам, Вывод таблицы с данн (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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