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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2011, 12:38   #1
wolf05632
Пользователь
 
Регистрация: 03.04.2011
Сообщений: 25
По умолчанию Нумерация листов ворд-документа, запущенного из экселя??

Привет!
Из экселя запускаю ворд и пытаюсь макросом пронумеровать его листы. Если включить запись макроса в ворде, то код такой:
Код:
 ' Если активное окно - нормальное или ? то ?
    If Word.ActiveWindow.ActivePane.View.type = wdNormalView Or Word.ActiveWindow.ActivePane.View.type = wdOutlineView Then
        Word.ActiveWindow.ActivePane.View.type = wdPrintView
    End If
    
    ' Активируем верхний колонтитул
    Word.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    
    ' Нумеруем листы простым номером в центре
    Word.Application.Templates( _
        "C:\Users\Пупкин\AppData\Roaming\Microsoft\Document Building Blocks\1049\14\Built-In Building Blocks.dotx" _
        ).BuildingBlockEntries("Простой номер 2").Insert Where:=Word.Selection.Range, _
        RichText:=True
    
    ' Активируем главное окно документа
    Word.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
ЗЫ: подредактировал код для экселя добавив
Код:
Word.
при попытке запуска макроса пишет ошибку времени выполнения 5941 "запрашиваемый номер семейства не существует".
Помогите разобраться, где собака зарыта?
ЗЗЫ: ворд и эксель - десятые. ОС - семерка
СПАСИБО!
wolf05632 вне форума Ответить с цитированием
Старый 19.04.2011, 13:22   #2
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

ничем не должно отличаться..


но на всякий случай выложите весь код, желательно в файле иксель
slan вне форума Ответить с цитированием
Старый 19.04.2011, 18:40   #3
wolf05632
Пользователь
 
Регистрация: 03.04.2011
Сообщений: 25
По умолчанию

макрос запускается из екселя
Код:
Private Sub CommandButton1_Click()
Dim obj_Word As New Word.Application      ' Объектная переменная для хранения ссылки на MS Word и его запуска
obj_Word.Visible = True               ' Делаем его видимым

Dim obj_WDoc As Word.Document         ' -"- на документ
Set obj_WDoc = obj_Word.Documents.Add ' Создаем новый документ в MS Word
obj_WDoc.Activate                     ' Делаем его активным

' нумеруем страницы(по крайней мере пытаемся)
 Если активное окно - нормальное или ? то ?
    If Word.ActiveWindow.ActivePane.View.type = wdNormalView Or Word.ActiveWindow.ActivePane.View.type = wdOutlineView Then
        Word.ActiveWindow.ActivePane.View.type = wdPrintView
    End If
    
    ' Активируем верхний колонтитул
    Word.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    
    ' Нумеруем листы простым номером в центре
    Word.Application.Templates( _
        "C:\Users\Пупкин\AppData\Roaming\Microsoft\Document Building Blocks\1049\14\Built-In Building Blocks.dotx" _
        ).BuildingBlockEntries("Простой номер 2").Insert Where:=Word.Selection.Range, _
        RichText:=True
    
    ' Активируем главное окно документа
    Word.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
'''''''''''''''''''''''''''''''''''''''''''''''''''
'вывод текста, выдранного из екселя.

end sub
ЗЫ: еще такая проблема с этими объектными переменными: если уже открыт вордовский документ(любой), то при запуске макроса создается новый документ в новом окне, НО УПРАВЛЕНИЕ НОВОМУ ДОКУМЕНТУ НЕ ПЕРЕДАЕТСЯ! и текст печатается в предыдущем открытом документе! Как поправить??? (и как сделать активным окно эксель?)

ЗЗЫ: И еще ваще проблема проблем. макрос я писал непосредственно в редакторе и запускал его через ф5. Вот решил повесить его на кнопку. Создал новый макрос с именем "проект", а как в него впиндюрить инициализацию формы и реакцию на клики по кнопкам вообще не втыкаю! как сделать?

Последний раз редактировалось wolf05632; 19.04.2011 в 19:18.
wolf05632 вне форума Ответить с цитированием
Старый 23.04.2011, 13:27   #4
wolf05632
Пользователь
 
Регистрация: 03.04.2011
Сообщений: 25
По умолчанию

Народ! Нашел, где собака порылась! (к сожалению, дома 2007 ворд, но, думаю принцип будет понятен):
открываю вордовский документ, жму кнопку "записать макрос", делаю нумерацию страниц, останавливаю макрос. Открываю макроредактор. И что я там вижу?: добавляется проект templateProject(Bilding Blocks), который, как я понимаю, и отвечает за шаблоны с нумерацией. (в 2010м ворде добавляется еще один проект:templateProject(Built-In Building Blocks)).
почему-то не могу вставить картинку! загрузил на хранилище:
http://www.imagepost.ru/?v=pctojrtih...zmoponnpuj.png

Так вот: если из экселя запускать вордовский файл с нумерацией, то вылетает ошибка, т.к. в макроредакторе открывшегося ворда нет этих проектов!
Соответственно, мне видится два варианта: 1. либо подключать эти проекты при запуске ворда, 2. либо подключить их в экселевском макроредакторе.

Как это сделать, ни в первом, ни во втором случае я не представляю. ПРОШУ ПОМОЩИ ПРОФЕССИОНАЛОВ!!!
wolf05632 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из Экселя ячейку в ворд и сохранить файл с именем ячейки Zhenya2030 Microsoft Office Word 1 19.07.2010 15:36
Перенос форм из Экселя в Ворд Nash1 Microsoft Office Word 5 07.07.2009 06:32
Перенести таблицы Экселя в Ворд Nash1 Фриланс 5 02.07.2009 09:46
Копирование участка текста из Экселя в Ворд Devourer12345 Microsoft Office Excel 3 30.07.2008 08:13
Как запретить форматирование ворд документа в делфи kate4ka Общие вопросы Delphi 6 22.02.2008 09:07