Я использую элементы управления содержимым Word 2013, которые сопоставлены с источником данных XML. Некоторые из них находятся внутри повторяющихся разделов, сопоставленных с элементами XML.

Проблема с элементами управления изображением. Когда я переключаюсь в «Режим дизайна», а затем возвращаюсь в нормальное состояние, все элементы управления содержимым изображений меняют размеры своих изображений примерно до 5 см. После этого я должен установить ширину всех этих картинок. Но эти настройки сбрасываются после следующего входа в «Режим проектирования».

Я хочу, чтобы все изображения в этих элементах управления содержимым имели ширину = 100% ширины текста страницы. Как я могу это сделать?

Я пытался прикрепить изображения, но

1 ответ1

0

Я создал этот макрос, который в пределах выделенного текста устанавливает ширину всех встроенных картинок в предварительно определенное значение (16,5 см в моем случае). Это больше похоже на обходной путь, чем на реальное решение, потому что каждый раз после входа в «Режим разработки» мне приходится выбирать все изображения (другой контент также может быть выбран, он остается нетронутым) в повторяющихся разделах и запускать этот макрос. Во всяком случае, это лучше, чем ничего.

  Sub ResizeImage()
    Dim targetWidth As Single
    Dim oILShp As InlineShape

    targetWidth = 16.5

    For Each oILShp In Selection.InlineShapes
        With oILShp
            .Height = AspectHt(.Width, .Height, CentimetersToPoints(targetWidth))
            .Width = CentimetersToPoints(targetWidth)
        End With
    Next
End Sub
Private Function AspectHt(ByVal origWd As Single, ByVal origHt As Single, ByVal newWd As Single) As Single
    If origWd <> 0 Then
        AspectHt = origHt / origWd * newWd
    Else
        AspectHt = 0
    End If
End Function

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .