Как использовать VBA в Word 2007 для обновления PictureStyles в одном назначении? - PullRequest
2 голосов
/ 22 декабря 2010

Я пытаюсь помочь коллеге с форматированием изображения в Word 2007. Я хотел бы иметь возможность обновить стиль границы, тени и т. Д., Назначив изображениям один из именованных стилей, который можно выбрать на вкладке «Форматирование изображения» на ленте. Стиль, который я пытаюсь использовать, называется «Простой кадр, черный». К сожалению, в Справочнике по объектной модели я не нашел никакой документации по использованию этих стилей для InlineShapes.

Я пытался записать макрос, как с помощью мыши, чтобы пройти через шаги, и только с помощью клавиатуры, чтобы делать то, что я хочу, но ни один из шагов назначения стиля изображения не отображается в получающемся модуле vba.

Я нашел вопрос, который похож на яйцо здесь

Исходя из этого, звучит так, как будто эта функциональность не представлена ​​в модели объектов. Мне интересно, нашел ли кто-нибудь способ сделать это, а если нет, то каким будет лучший способ обойти это.

Спасибо, Спенсер

1 Ответ

0 голосов
/ 19 января 2012

Насколько я могу судить, нет способа напрямую установить именованные стили изображения из VBA. Это немного отнимает много времени, но я предлагаю вставить две картинки в текстовый документ, применить форматирование к одной из них, а затем изучить оба объекта в окне VBE Watch.

Исходя из моего опыта работы с Word 2010, на что следует обратить внимание: Borders, Fill, Glow, PictureFormat, Reflection, Shadow, & SoftEdge.

В Word 2010, чтобы изменить изображение без форматирования, чтобы оно имело такое же форматирование, что и стиль «Простой кадр, черный», примените следующие изменения:

With ThisDocument.InlineShapes(1)
   .Borders.OutsideLineStyle = wdLineStyleSingle
   .Borders.OutsideLineWidth = wdLineWidth300pt
   With .Shadow
      .Blur = 4
      .OffsetX = 2.12132
      .OffsetY = 2.12132
      .Style = msoShadowStyleOuterShadow
      .Transparency = 0.57
      .Visible = msoTrue
   End With
End With

Shadow Blur и Offsets - незначительные изменения, которые вы не можете увидеть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...