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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2011, 14:06   #11
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию

ага, дошло (наверное): на место длинной русской фразы надо вставить путь к normal.dot.
пожалуй, все-таки удобств от "нормализации" этого макроса будет не больше, чем неудобств. Лучше уж ручками его через VB внедрять в самые долгопишущиеся документы.
caute вне форума Ответить с цитированием
Старый 13.06.2011, 18:38   #12
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

А зачем в normal.dot?
Создайте пустой документ с макросом, сохраните как шаблон (.dot или .dotm, Word сам предложит правильное место для сохранения).
Потом по команде Файл - Создать... можете выбрать свой шаблон с макросом.

2 Ципихович Эндрю
Спасибо за Variables. Мож когда пригодится
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 13.06.2011 в 18:46.
Казанский вне форума Ответить с цитированием
Старый 13.06.2011, 19:03   #13
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию

когда нибудь - 8 тысяч в файл Ворда затолкал и никаких тормозов
то есть независим, получить сообщение файла нет более не придётся
ну Вариаблес можно удалить, ну и сам файл тоже, ещё атомная война и т.д
и главное если в Ворде работаете, забудьте про сортировки, Вариаблес толкаете
А они строго по алфавиту добавляются
Вещьььььььь
Ципихович Эндрю вне форума Ответить с цитированием
Старый 13.06.2011, 19:48   #14
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Новости науки

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
Код:
Sub AutoOpen()
Application.GoBack 'соответствует нажатию Shift-F5
End Sub
Но, к сожалению, это прокатит лишь в Word 97 или ранее.
На самом деле ещё и в Word 2003 работает! — сейчас на работе попробовал.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 13.06.2011, 19:56   #15
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию

да уж работает, по большому счёту не понятно почему в версиях выше отказались от этого
???????????
Ципихович Эндрю вне форума Ответить с цитированием
Старый 14.06.2011, 09:41   #16
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Да понятно: ради компактности (что, однако, тоже трудно понять).

И дай бог 1% пользователей вообще знал, что по Shift-F5 можно вернуться в точку последнего редактирования вновь открытого документа Word 97—2003.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 15.06.2011, 10:09   #17
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию

Application.GoBack - похоже, буквально то же самое, что Shift+F5. Макрос работает в тех доках, где срабатывает Shift+F5, и не работает в тех, где Shift+F5 не действует (Word 2003)

Цитата:
пустой документ с макросом, сохраните как шаблон
это не так удобно, поскольку normal.dot время от времени пополняется макросами, и хотелось бы, чтобы они были доступны и для новых доков.
Та не проблема нырнуть в VB и вставить закладочного макроса пару раз в неделю.

Последний раз редактировалось caute; 15.06.2011 в 10:13.
caute вне форума Ответить с цитированием
Старый 15.06.2011, 14:36   #18
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию

>не работает в тех, где Shift+F5 не действует (Word 2003)
Проверено работает!!!!!
Ципихович Эндрю вне форума Ответить с цитированием
Старый 17.06.2011, 00:29   #19
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Ну вот и макрос, который будет вписывать код восстановления выделения в текущий документ. Поместите его в Normal, вызывайте по Alt+F8 или создайте кнопку на панели.

Еще нужно поставить галку "Доверять доступ к объектной модели проектов VBA" в параметрах безопасности макросов.

Код:
Const MACRO_RESTORE_SELECTION = _
"Private Sub Document_Close()" & vbCrLf & _
"Me.Bookmarks.Add ""SelectionBeforeClose"", Selection.Range" & vbCrLf & _
"End Sub" & vbCrLf & _
"Private Sub Document_Open()" & vbCrLf & _
"On Error Resume Next" & vbCrLf & _
"With Me.Bookmarks(""SelectionBeforeClose"")" & vbCrLf & _
"    .Select" & vbCrLf & _
"    .Delete" & vbCrLf & _
"End With" & vbCrLf & _
"End Sub"

Sub Add_Macro_Restore_Selection()
With ActiveDocument.VBProject.VBComponents("ThisDocument").CodeModule
    If .CountOfLines > .CountOfDeclarationLines Then
        MsgBox "Модуль 'ThisDocument' не пустой", vbCritical
    Else
        .InsertLines .CountOfLines + 1, MACRO_RESTORE_SELECTION
        MsgBox "Код внедрен", vbInformation
    End If
End With
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 26.06.2011, 01:32   #20
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию

Const MACRO_RESTORE_SELECTION =
при вставке в normal.dot часть кода, начинающаяся с этой строки, не опознается как макрос. Поясните, как это вставлять правильно, плиз.
caute вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возврат курсора Bob Dylan Общие вопросы C/C++ 6 08.08.2010 22:58
возврат к началу Kiber3D Паскаль, Turbo Pascal, PascalABC.NET 17 19.05.2010 21:56
Обращение к первому и последнему элементу отсортированного массива СветланаRerum Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 17.05.2010 18:56
Возврат класса kedbl4 Общие вопросы C/C++ 2 10.09.2009 01:31
Сформировать матрицу A - первый столбец которой равен последнему столбцу исходной матрицы Вика М. Помощь студентам 3 23.12.2008 04:51