PDA

Показать полную графическую версию : [архив] Microsoft Word 2003 и более ранние версии


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23 24 25 26 27 28 29 30

Drongo
03-10-2008, 14:54
Codru, А если встретится такое выражение "конец абзаца - пробел", как на скрине, перед началом слова? Тогда нужно будет переписывать макрос или создавать новый. Я просто сделал, ввёл Найти - конец абзаца, пробел и Заменить на - конец абзаца.

http://i067.radikal.ru/0810/ce/1422fc94b3d7.jpg (http://www.radikal.ru)

Codru
03-10-2008, 15:25
Drongo, необходимо создать новый, т.к. макрос удаляет больше одного пробела. В данном варианте достаточно одного простого макроса, ну а если первый знак будет разный, скорее всего, что без VBA не обойтись. Необходимо будет указать на пробел в начале строки. Вернусь домой, подумаю что можно сделать.

Drongo
03-10-2008, 15:35
Codru, Да зачем такие сложности, я ж написал, сначала ищем пару пробелов и заменяем их на один, до тех пор, пока количество замен не будет равно нулю, второй этап, ищем знак абзаца и пробел и заменяем их абзацем, всё, 1 минута, максимум полторы...

Codru
03-10-2008, 15:42
Drongo , я согласен с Вами, но иногда, когда имеем дело с большими текстами, удобно иметь рядом с меню несколько кнопочек, которые работают за тебя, пока перекуриваешь.

Drongo
03-10-2008, 15:57
Codru, Тогда да, если не будет трудно, можно попробовать сделать Вашу задумкуВернусь домой, подумаю что можно сделать. »Во всяком случае, это вариант, и интересен своим решением, и мне будет полезно узнать. :yes:

Codru
05-10-2008, 13:04
Я просто сделал, ввёл Найти - конец абзаца, пробел и Заменить на - конец абзаца. »
Я тоже ничего лучше не мог придумать. Вот что получилось. Оказалось легче внести изменения в код, чем играться записью макроса.

Sub DeletSp()
'Удаление пробелов в начале строки
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p^w" 'это поле "Найти"
.Replacement.Text = "^p" 'это поле "Заменить"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Кстати еще один код для удаления пробелов перед знаками препинания, например запятой и точкой:
.Text = " {1;}([\,\.)])"
.Replacement.Text = "\1"

Serg_sm
07-10-2008, 19:14
Такая проблема может кто сталкивался. При включеной сети ворд открывается секунд 40-50, если сетку отрубить, открывается почти мгновенно. Сетевые адреса прописывал динамические и статические проблема остается. Помогите!!!

Petya V4sechkin
07-10-2008, 20:26
Serg_sm, какой-нибудь сетевой принтер подключен?
В меню Файл в списке последних открытых файлов есть из сети?

Serg_sm
08-10-2008, 09:37
Принтер не подключен, а файлы есть. Он что пытается сетевые файлы проверить на доступность?

Petya V4sechkin
08-10-2008, 09:40
Serg_sm, не знаю, честно говоря (просто других идей не было).

Serg_sm
08-10-2008, 14:37
ссылки из recent убрал, офис переустанавливал XP и 2003. Результат 0

Кстати Excel ведет себя аналогично

Geo55
10-10-2008, 13:28
Почему-то при создании ярлыка не запускается мастер создания ярлыка, а просто создаётся ярлык без названия. А по WinWord такая штука. Есть текстовой файл. Кликаешь по нему, открывается Word, но пустой.... Чтобы открыть файл, надо пройти путь --- Файл---открыть--- указываешь на этот же файл и только тогда он запускается. Можно ли как-то поправить ситуацию., чтобы из файла сразу открывался Word с этим файлом?

Drongo
10-10-2008, 14:07
Geo55, Какая версия Word'a? Потом склею с общей темой. Похожий вопрос (http://www.forum.oszone.net/post-760356-255.html) и возможно этот ответ (http://www.forum.oszone.net/post-760432-256.html) поможет.

Geo55
10-10-2008, 14:26
Word из Office XP SP2

Drongo
10-10-2008, 16:09
Geo55, По ссылкам выше смотрели, пробовали? Какие результаты? у вас, Word 2003 или Word 2007

Geo55
10-10-2008, 16:34
Версия Word 2002 Проверить пока возможности не было. Попробую на той неделе.

illusionmgs
12-10-2008, 13:43
Для удаления лишних пробелов лучше создать макрос. Работает прекрасно.
В открытом документе запустите макрос: меню Сервис  Макрос  Начать запись.
В диалоговое окно назначить допустим вместо Масros1  DeleteSpace и щелкнуть на кнопке с изображением молотка. Откроется диалоговое окно (см.рис), в котором вам следует перейти на вкладку Команды из которого необходимо перетащить на панель инструментов макрос с названием Normal.NewMacros.DeleteSpace. Можно назначить кнопки какое-нибудь подходящее изображение.
Далее закрыть окно. Должно появиться панелька (небольшая) с управляющими кнопками для окончания записи макроса:
- нажмите CTRL+H;
- в диалоговое окно «Найти и Заменить» нажмите кнопки «Больше», «Снять форматирование»;
- поставьте галочку «Подстановочные знаки» (остальные убрать);
- нажмите CTRL+А (выделение всего текста документа);
- в поле «Найти» введите пробел и следующее выражение: {2;} (это означает, что будет произведен поиск двух и более расположенных подряд вхождений того знака, который стоит перед открывающейся фигурной скобкой);
- перейдите в поле «Заменить на» и введите один пробел;
- нажмите «Заменить все».
После окончания поиска и замены закройте окно «Найти и Заменить», снимите выделение текста, нажав на клавиатуре клавишу стрелки и остановите запись макроса (нажмите на кнопку с квадратиком). »




большое спасибо!

Цитата Drongo:
Я просто сделал, ввёл Найти - конец абзаца, пробел и Заменить на - конец абзаца. »
Я тоже ничего лучше не мог придумать. Вот что получилось. Оказалось легче внести изменения в код, чем играться записью макроса.
Код:
Sub DeletSp()
'Удаление пробелов в начале строки
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p^w" 'это поле "Найти"
.Replacement.Text = "^p" 'это поле "Заменить"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Кстати еще один код для удаления пробелов перед знаками препинания, например запятой и точкой:
Код:
.Text = " {1;}([\,\.)])"
.Replacement.Text = "\1" »

скажите,а как пользоваться этими кодами?

Codru
12-10-2008, 15:41
Сервис -- Макрос -- Редактор Visual Basic
Откроется окно Visual Basic
Меню: Insert -- Module
В большом правом окне должно быть:
Private Sub Macros1 ()
-- сюда скопируйте тело макроса. Название можете изменить.
End Sub
Можете проверить его работу не выходя из редактора Visual Basic, для чего нажмите на треугольник под Debug
Чтобы вывести макрос в меню Word-a, необходимо перейти в Word и:
Меню: Сервис -- Настройка
В окне Настройка перейдите на вкладку Команды, далее в Категории перейдите в поле Макросы, справа появится ваш макрос: Normal.Module1.Macros1.
Захватывайте его мышкой и перенесите в Меню, рядом с "Справка".
В это же время в окне Настройка появятся еще две кнопки: Описание и Изменить выделенный обьект.
Нажмите Изменить выделенный обьект.
В третьей строке появившегося окна можете изменить имя макроса, например убрать Normal.Module1.. Остальное все видно и так, хотите, добавьте значок...

Geo55
13-10-2008, 12:24
Drongo К сожалению, моя проблема с Word 2002 после всех попыток не только не поправилась, а даже после того, как я пытаюсь открыть файл .doc из файла, выбрасывается меню "Неверно указаны имя документа или путь к нему. Проверьте разрешение на доступ к док-ту или диску. Для поиска документа воспользуйтесь окном "Открытие документа" (c:\documents)/ После этоко я опять включил dde, но окно продолжает всплывать.
Помогите, плз, как это исправить?

Geo55
14-10-2008, 11:34
Еще раз ПЛЗ!!!!




© OSzone.net 2001-2012