powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Подстава от word 2010
11 сообщений из 11, страница 1 из 1
Подстава от word 2010
    #38406570
bogv167
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Help!

Проблема такая. Есть некоторое количество (много - порядка тысяч) однотипных документов формата .doc - это технологические кары. Требуется в верхнем колонтитуле всех открытых документов (за раз открывается обычно не более 10..15 нужных в настоящий момент) прописать имя файла (оно стандартизировано) и закрыть документы, с сохранением, естественно. Сугубо практическая задача.

В office 2000..2003 с этим легко справлялся макрос:

Sub Packet_Colontitle_Rename()
'
' Packet_Colontitle_Rename Макрос
' Макрос записан 28.04.2009
'
If Application.Documents.Count = 0 Then
MsgBox "Нет открытых документов"
Exit Sub
Else
Do While Application.Documents.Count <> 0
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.WholeStory
ActiveDocument.AttachedTemplate.AutoTextEntries("Имя файла").Insert Where _
:=Selection.Range, RichText:=True
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
ActiveWindow.Close
Loop
End If
If Application.Documents.Count = 0 Then
MsgBox "Изменения внесены"
End If
End Sub

Просто и доходчиво, писано макрорекордером Word с небольшими доработками. После добровольно-принудительного перехода организации на MSO2010 произошла неприятность такого плана: в MSO2000..2003 Word открывает документы в одном экземпляре приложения, соответственно VBA видит их все и по очереди обрабатывает. В 2010-м (да и в 2007-м, насколько я имел несчастье с ним работать), количество одновременно открытых документов есть количество запущенных экземпляров приложения... Соответственно, Application.Documents.Count всегда = 1 и весь смысл вышеприведенной конструкции теряется.

Что посоветуете?
...
Рейтинг: 0 / 0
Подстава от word 2010
    #38406682
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bogv167.doc - это технологические карыТут не поспоришь, Word - это действительно кара , причём весьма технологическая
...
Рейтинг: 0 / 0
Подстава от word 2010
    #38406685
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bogv167,

Чепуха, открывайте через меню Файл хоть сотню файлов, все они будут в одном экземпляре. Тут еще похожая тема:
http://www.excel-vba.ru/forum/index.php?topic=2421.0
...
Рейтинг: 0 / 0
Подстава от word 2010
    #38406775
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по-моему, если запускать WinWord с любым, даже с пустым ключом, то открывается новая копия
вот так:
winword / Имхо1.doc

Как вы вызваете сабж?
...
Рейтинг: 0 / 0
Подстава от word 2010
    #38408567
bogv167
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kuklp, благодарю за поддержку. Действительно, если открыть файлы не из папки (выделив нужные и нажав Enter), а через Файл > Открыть, то все документы открываются в одном процессе. Если же открыть через Enter, то запускается столько же процессов, сколько выбрано файлов. Как-то через ж... открывается, неудобно (или надо привыкнуть) но макрос теперь работает. MSO2000 открывал все в одном процессе первым способом. Ну и сам код пришлось немного подправить, это уже дело техники.
...
Рейтинг: 0 / 0
Подстава от word 2010
    #38409221
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bogv167kuklp, благодарю за поддержку. Действительно, если открыть файлы не из папки (выделив нужные и нажав Enter), а через Файл > Открыть, то все документы открываются в одном процессе. Если же открыть через Enter, то запускается столько же процессов, сколько выбрано файловпосмотри в реестре, как вызываются вордовые документы
я уже писал об этом чуть выше
...
Рейтинг: 0 / 0
Подстава от word 2010
    #38409851
bogv167
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreymxbogv167kuklp, благодарю за поддержку. Действительно, если открыть файлы не из папки (выделив нужные и нажав Enter), а через Файл > Открыть, то все документы открываются в одном процессе. Если же открыть через Enter, то запускается столько же процессов, сколько выбрано файловпосмотри в реестре, как вызываются вордовые документы
я уже писал об этом чуть выше

andreymx, пжл, поконкретнее, где именно в реестре?
...
Рейтинг: 0 / 0
Подстава от word 2010
    #38410010
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bogv167,

точно не помню
что-то вроде веток с названием ...Microsoft Word\shell\edit\command
у меня там
@="\"C:\\Program Files\\Microsoft Office\\Office14\\WINWORD.EXE\" /n \"%1\""
хотя точного значения ключей я так и не нашёл
это было 2 или 3 года назад, не всё помню
...
Рейтинг: 0 / 0
Подстава от word 2010
    #38410032
bogv167
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreymxbogv167,

точно не помню
что-то вроде веток с названием ...Microsoft Word\shell\edit\command
у меня там
@="\"C:\\Program Files\\Microsoft Office\\Office14\\WINWORD.EXE\" /n \"%1\""
хотя точного значения ключей я так и не нашёл
это было 2 или 3 года назад, не всё помню

OK, попробую
...
Рейтинг: 0 / 0
Подстава от word 2010
    #38410751
bogv167
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot bogv167]andreymx, похоже, дело не в реестре... (в чем - не пойму).
Во-первых, у меня в указанных ветках те же значения, что и у вас.
Во-вторых, проверил на нескольких компах, у всех файлы doc в MSO2007-2010 открываются именно так, как я описывал ранее
Ну и ключи: http://office.microsoft.com/ru-ru/word-help/HP010164010.aspx
...
Рейтинг: 0 / 0
Подстава от word 2010
    #38410862
bogv167
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot bogv167][quot bogv167]andreymx, похоже, дело не в реестре...

или не в этих ветках реестра
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Подстава от word 2010
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]