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

Вход

Регистрация

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

 

= Мир MS Excel/Редактирование таблицы в колонтитуле Word из-под Excel - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Редактирование таблицы в колонтитуле Word из-под Excel (Макросы/Sub)
Редактирование таблицы в колонтитуле Word из-под Excel
buchlotnik Дата: Четверг, 04.08.2016, 23:25 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 2049
Репутация: 613 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
Добрый вечер, коллеги.

Снова обращаюсь с тупым вопросом по выгрузке в Word. Суть проблемы - имеетеся рабочий код, который создаёт таблицу 3 на 4, после чего объединяет две ячейки
[vba]
Код
Sub export()
    With CreateObject("Word.Application")
        .Visible = True
        .Documents.Add
        .Documents(1).Tables.Add Range:=.Selection.Range, NumRows:=3, NumColumns:= _
                4, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
                wdAutoFitFixed
        .Documents(1).Range( _
        .Documents(1).Tables(1).Rows(2).Cells(2).Range.Start, _
        .Documents(1).Tables(1).Rows(2).Cells(3).Range.End).Select
        .Selection.Cells.Merge
        .Activate
    End With
End Sub
[/vba]
Задача состоит в том, чтобы эту таблицу поместить в верхний колонтитул.
Это я сделал, но не могу сделать объединение ячеек -
[vba]
Код
Sub export2()
    With CreateObject("Word.Application")
        .Visible = True
        .Documents.Add
        .Documents(1).Tables.Add Range:=.Documents(1).Sections(1).Headers(1).Range, NumRows:=3, NumColumns:= _
                4, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
                wdAutoFitFixed
'на кусок кода дальше ругается - error 5941  запрашиваемый номер семейства не существует
        .Documents(1).Range( _
        .Documents(1).Tables(1).Rows(2).Cells(2).Range.Start, _
        .Documents(1).Tables(1).Rows(2).Cells(3).Range.End).Select
        .Selection.Cells.Merge
        .Activate
    End With
End Sub
[/vba]

Может кто-нибудь подсказать, как к таблице в колонтитуле обратиться?

Заранее признателен
К сообщению приложен файл: 5860712.xlsm(17Kb)


платная помощь:
ЯД: 410012595572239; WM: 311017577133
buchlotnik@mail.ru
 
Ответить
СообщениеДобрый вечер, коллеги.

Снова обращаюсь с тупым вопросом по выгрузке в Word. Суть проблемы - имеетеся рабочий код, который создаёт таблицу 3 на 4, после чего объединяет две ячейки
[vba]
Код
Sub export()
    With CreateObject("Word.Application")
        .Visible = True
        .Documents.Add
        .Documents(1).Tables.Add Range:=.Selection.Range, NumRows:=3, NumColumns:= _
                4, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
                wdAutoFitFixed
        .Documents(1).Range( _
        .Documents(1).Tables(1).Rows(2).Cells(2).Range.Start, _
        .Documents(1).Tables(1).Rows(2).Cells(3).Range.End).Select
        .Selection.Cells.Merge
        .Activate
    End With
End Sub
[/vba]
Задача состоит в том, чтобы эту таблицу поместить в верхний колонтитул.
Это я сделал, но не могу сделать объединение ячеек -
[vba]
Код
Sub export2()
    With CreateObject("Word.Application")
        .Visible = True
        .Documents.Add
        .Documents(1).Tables.Add Range:=.Documents(1).Sections(1).Headers(1).Range, NumRows:=3, NumColumns:= _
                4, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
                wdAutoFitFixed
'на кусок кода дальше ругается - error 5941  запрашиваемый номер семейства не существует
        .Documents(1).Range( _
        .Documents(1).Tables(1).Rows(2).Cells(2).Range.Start, _
        .Documents(1).Tables(1).Rows(2).Cells(3).Range.End).Select
        .Selection.Cells.Merge
        .Activate
    End With
End Sub
[/vba]

Может кто-нибудь подсказать, как к таблице в колонтитуле обратиться?

Заранее признателен

Автор - buchlotnik
Дата добавления - 04.08.2016 в 23:25
Manyasha Дата: Пятница, 05.08.2016, 00:35 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 1590
Репутация: 669 ±
Замечаний: 0% ±

Excel 2007, 2010
Михаил, здравствуйте, у меня вот так получилось:
[vba]
Код
Sub export2()
    With CreateObject("Word.Application")
        .Visible = True
        .Documents.Add
        .Documents(1).Tables.Add Range:=.Documents(1).Sections(1).Headers(1).Range, NumRows:=3, NumColumns:= _
                4, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
                wdAutoFitFixed
        .ActiveWindow.ActivePane.View.SeekView = 9
'сразу диапазон выделить не получилось
        .Selection.Tables(1).Cell(2, 2).Select
        .Selection.MoveRight Unit:=1, Count:=1, Extend:=1
        .Selection.Cells.Merge
        .ActiveWindow.ActivePane.View.SeekView = 0
        .Activate
    End With
End Sub
[/vba]


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеМихаил, здравствуйте, у меня вот так получилось:
[vba]
Код
Sub export2()
    With CreateObject("Word.Application")
        .Visible = True
        .Documents.Add
        .Documents(1).Tables.Add Range:=.Documents(1).Sections(1).Headers(1).Range, NumRows:=3, NumColumns:= _
                4, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
                wdAutoFitFixed
        .ActiveWindow.ActivePane.View.SeekView = 9
'сразу диапазон выделить не получилось
        .Selection.Tables(1).Cell(2, 2).Select
        .Selection.MoveRight Unit:=1, Count:=1, Extend:=1
        .Selection.Cells.Merge
        .ActiveWindow.ActivePane.View.SeekView = 0
        .Activate
    End With
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 05.08.2016 в 00:35
krosav4ig Дата: Пятница, 05.08.2016, 01:00 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1362
Репутация: 548 ±
Замечаний: 0% ±

Excel 2007, 2013
Здравствуйте, а у мну вот так
[vba]
Код
Sub export2()
    Dim rng
    With CreateObject("Word.Application")
        .Visible = True
        With .Documents.Add.Sections(1).Headers(1)
            With .Range.document.tables.Add(Range:=.Range, NumRows:=3, _
                NumColumns:=4, DefaultTableBehavior:=wdWord9TableBehavior, _
                AutoFitBehavior:=wdAutoFitFixed)
                Set rng = .Cell(2, 2).Range
                rng.End = .Cell(2, 3).Range.End
                rng.Cells.Merge
            End With
        End With
        .Activate
    End With
End Sub
[/vba]


(_)Õvõ(_)
 
Ответить
СообщениеЗдравствуйте, а у мну вот так
[vba]
Код
Sub export2()
    Dim rng
    With CreateObject("Word.Application")
        .Visible = True
        With .Documents.Add.Sections(1).Headers(1)
            With .Range.document.tables.Add(Range:=.Range, NumRows:=3, _
                NumColumns:=4, DefaultTableBehavior:=wdWord9TableBehavior, _
                AutoFitBehavior:=wdAutoFitFixed)
                Set rng = .Cell(2, 2).Range
                rng.End = .Cell(2, 3).Range.End
                rng.Cells.Merge
            End With
        End With
        .Activate
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 05.08.2016 в 01:00
buchlotnik Дата: Пятница, 05.08.2016, 01:17 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2049
Репутация: 613 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
Ух ты! Спасибо девчата (и ребята) :)
Пашет и так, и так на ура - пошёл объектную модель Ворда штудировать (ведь крутил .ActivePane да недокрутил)
Спасибо!


платная помощь:
ЯД: 410012595572239; WM: 311017577133
buchlotnik@mail.ru
 
Ответить
СообщениеУх ты! Спасибо девчата (и ребята) :)
Пашет и так, и так на ура - пошёл объектную модель Ворда штудировать (ведь крутил .ActivePane да недокрутил)
Спасибо!

Автор - buchlotnik
Дата добавления - 05.08.2016 в 01:17
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Редактирование таблицы в колонтитуле Word из-под Excel (Макросы/Sub)
Страница 1 из 11
Поиск:

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