Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

В этом выпуске опубликованы следующие советы:


Word Expert - профессиональная работа с текстом

Выпуск рассылки №137 от 2009-08-29 09:06

В этом выпуске:

  1. Советы и подсказки
  2. Читатели просят совета
  3. Полезные ссылки
  4. Информация об авторских правах

Советы и подсказки

Если у вас есть идея или совет по эффективному использованию редактора Word, то пишите мне через форму контактов на сайте. Любые ваши дельные советы и подсказки будут размещены в очередных выпусках рассылки и на сайте (с указанием вашего авторства).

Отправка документа на печать на разные сетевые принтеры

Поступил интересный вопрос от Павла. Он спрашивает:
У меня подключено несколько сетевых принтеров. Можно ли с помощью разных кнопок-макросов печатать на разные предопределенные принтера, а не только на принтер по умолчанию?

Мой соавтор Александр Витер предложил воспользоваться методом ActivePrinter, и я набросал небольшой макрос. Пусть, например, у вас есть сетевой принтер по имени "Полное_Сетевое_Имя_Принтера" (смотрите наименования в настройках печати). Тогда макрос будет следующий:
Public Sub prNet()
'Печать документа из сетевого принтера, установленного не по умолчанию
Dim sMyPrinter As String
Dim netPrinter As String
'Запоминаем текущий принтер по умолчанию
   sMyPrinter = Application.ActivePrinter
'Присваиваем переменной имя сетевого принтера
   netPrinter = "Полное_Сетевое_Имя_Принтера"
'Делаем активным сетевой принтер
   Application.ActivePrinter = netPrinter
'Печатаем документ с текущими настройками
   ActiveDocument.PrintOut
'Восстанавливаем принтер по умолчанию
   Application.ActivePrinter = sMyPrinter
End Sub
Сделайте такой же макрос (измените его имя) для других принтеров и выведите кнопки этих макросов на панель инструментов.
Оставить комментарий | Задать вопрос

Задать обтекание текстом для всех рисунков в документе

Вопрос от Макса:
Нужно в документе WORD сделать обтекание текстом ВСЕХ рисунков. Как это сделать? По одному делается без проблем, но их очень много, а всех вместе никак...

Попробуйте такой макрос (на копии документа - на всякий случай):
Sub wrapImages()
'Обтекание текстом для всех типов графических объектов
Dim pic As Object
On Error Resume Next
For Each pic In ActiveDocument.Content.InlineShapes
  If pic.Type = wdInlineShapePicture Then
   pic.InlineShapes(1).ConvertToShape
   pic.ShapeRange.WrapFormat.Type = wdWrapTight
  End If
Next
For Each pic In ActiveDocument.Content.ShapeRange
  If pic.Type = msoPicture Then
   pic.ShapeRange.WrapFormat.Type = wdWrapSquare
  End If
Next
End Sub
Оставить комментарий | Задать вопрос

Поиск слов и сохранение их в отдельном документе

Валерий спрашивает:
Как из текста в Word 2007 выбрать все слова на определенную букву, расположить их в алфавитном порядке и сохранить их в отдельном файле?

Валерий, вот пример макроса для ваших целей, подсказанный Александром Витером.
Sub startWordsChar2()
'Поиск слов, начинающихся с определенной буквы и перенос их в
'отсортированный по алфавиту список в новый документ
Dim bukva As String
Dim newDoc As Document
Dim actDoc As Document
Dim oPar As Paragraph
Dim rng As Range
Set actDoc = ActiveDocument
Set rng = actDoc.Range
Do
  bukva = InputBox("Введите начальную букву слова в поле:", "Поиск слов")
  If StrPtr(bukva) = 0 Then
     Exit Sub
  ElseIf Len(bukva) = 0 Then
     MsgBox "Введите пожалуйста начальную букву " & vbCr & "или нажмите кнопку 'Cancel"
  End If
Loop Until Len(bukva) <> 0
Application.ScreenUpdating = False
Set newDoc = Documents.Add
'Ищем слово, начинающееся с указанной буквы в любом регистре
With actDoc.Range.Find
  .Text = "<[" & StrConv(bukva & bukva, vbProperCase) & "][А-Яа-яЁё]@>"
  .MatchWildcards = True
  While .Execute
    Application.StatusBar = "Добавляем " & bukva
    newDoc.Range.InsertAfter Trim(.Parent.Text)
    newDoc.Range.InsertParagraphAfter
  Wend
End With
'Сортируем содержимое нового документа
newDoc.Range.Sort , "Paragraphs", wdSortFieldAlphanumeric, wdSortOrderAscending
'Удаляем первый пустой абзац
newDoc.Paragraphs(1).Range.Delete
'Поскольку в каждом абзаце находится по одному слову, то нужно только перебирать абзацы и удалять _
все слова, которые содержатся в текущем
For Each oPar In newDoc.Paragraphs
  If oPar.Range.End <> newDoc.Range.End Then
    With newDoc.Range(oPar.Range.End, newDoc.Range.End).Find
      .Text = oPar.Range.Text
      .Replacement.Text = ""
      .Execute Replace:=wdReplaceAll
    End With
  End If
Next
Application.ScreenUpdating = True
End Sub
Если вы не знаете, как подключить к документу и применить эти макросы, изучите следующие заметки с сайта:
Создание макроса из готового кода
Автоматическая запись макроса

Оставить комментарий | Задать вопрос

Проблема с кодировкой при сохранении документа в формат HTML

Постоянный читатель сайта и рассылки Илья недавно задал вопрос:
При сохранении документа word в формат html при открытии документа браузером появляются крякозабры. Причем, независимо от языка. Это происходит с разными браузерами. В чем может быть дело? Office 2007 SP2.

Я не нашелся, что ответить. Но буквально на следующий день Илья самостоятельно обнаружил причину такого поведения. Вот что он сообщил:
Проблема оказалась глубже. Есть такая утилита, которая называется "XFilesDialog" - служит для расширения диалоговых окон. Так вот, когда она запущена, то Word при сохранении текста в формате html вносит в документ нечитаемые символы. А лечится это безобразие отключением опции "Обработать и заменить окно диалога офиса".
Пишу Вам на тот случай, если у кого-то возникнет аналогичная ситуация.
Оставить комментарий | Задать вопрос

Полезные ссылки

Информация об авторских правах

Вся информация, представленная на сайте WordExpert.ru и в этой рассылке, никаким образом не связана с корпорацией Microsoft. В рассылке упоминаются компании и продукты, которые могут быть зарегистрированными торговыми марками и принадлежать различным физическим и юридическим лицам как на территории РФ, так и за ее пределами.

Авторские права на все материалы, опубликованные на сайте WordExpert.ru и в этой рассылке (включая текст, фотографии, подборку, расположение и т.п.) принадлежат Кокину Антону Вадимовичу, если не указано иное. Вы можете свободно использовать и распространять эти материалы с обязательной ссылкой вида "Информация с сайта WordExpert.ru" и с обязательным указанием автора материала.

Все материалы, опубликованные на сайте WordExpert.ru и в этой рассылке, представлены на информационной основе. Вы можете использовать любую информацию с сайта WordExpert.ru или из данной рассылки исключительно на свой страх и риск. Тем не менее, я рекомендую перед применением какой-либо информации с сайта WordExpert.ru или из данной рассылки обязательно сохранять и создавать резервные копии ваших документов.

В этой рассылке также упоминаются различные web-страницы с соответствующими ссылками. Эти ссылки указываются исключительно в информационных целях и никакой рекомендации или одобрения с моей стороны данных веб-страниц не подразумевается, если не указано иное.


В избранное