Страницы: 1
RSS
Размер поля WMF-рисунка при вставке скопированного Shape, как отрегулировать
 
День добрый всем.
Есть простая достаточно задачка у меня. Берем текст из ячейки, создаем из него WordArt, затем преобразовываем WordArt в рисунок через специальную вставку.
Вот примерный код, подчищенный макрописец:
Код
Sub MakeWater()
Range("B3").Select
    With ActiveSheet.Shapes.AddTextEffect(msoTextEffect1, Range("B3").Text, _
        "+mn-lt", 54, msoTrue, msoFalse, Range("B3").Left, Range("B3").Top)
        With .TextFrame2.TextRange.Font
            .Size = 36
            .Shadow.Blur = 0.25
            .Shadow.OffsetX = 1
            .Shadow.OffsetY = 0.2
            .Line.Weight = 0.1
        End With
        .Top = Range("B3").Top
        .Left = Range("B3").Left
        .Copy
    End With
    ActiveSheet.PasteSpecial Format:="Метафайл Windows (EMF)", Link:=False, _
        DisplayAsIcon:=False

End Sub


При таком подходе все работает как задумано, кроме одного - размер (Ш*В) вставляемой картинки значительно больше, чем размер скопированного объекта, и чем больше шрифт, тем больше расхождение размеров. Такое ощущение, что для рисунка добавляются пропорциональные поля.

Соответственно, два вопроса:
1) Есть ли другой способ преобразовать WordArt (ну или любую другую надпись) в картинк? Вроде есть, но припомнить не могу.
2) Как можно повоздействовать на вот эти вот поля? Только обрезкой?
F1 творит чудеса
 
Цитата
Максим Зеленский пишет: При таком подходе все работает как задумано, кроме одного - размер (Ш*В) вставляемой картинки значительно больше, чем размер скопированного объекта
Странно, у меня такой проблемы нет.
Изменено: Ivan.kh - 21.01.2015 16:31:52
 
Добрый день
У меня расхождение есть
Закономерность изменения расхождения при изменении шрифта не могу найти  :)
 
Цитата
Ivan.kh пишет: у меня такой проблемы нет.
открыл ваш файл - у меня есть
http://joxi.ru/0KAg6n9U4pw92l
причем странным образом изменены размеры рисунка.
похоже, проблема в разрешении экрана, хотя тоже не факт - размер текста одинаковый
вот как выглядят границы WordArt и рисунка, если совместить текст
F1 творит чудеса
 
Может попробовать использовать CopyPicture?
У меня помогает изменение свойств - надпись - подгонять размер фигуры под текст
Код
.TextFrame2.AutoSize = msoAutoSizeNone
Изменено: Alexander88 - 21.01.2015 19:39:29
 
Попробую, спасибо
F1 творит чудеса
 
Цитата
Максим Зеленский пишет: причем странным образом изменены размеры рисунка
Очень странно, размер рисунка не менял.
 
Цитата
Alexander88 пишет: .TextFrame2.AutoSize = msoAutoSizeNone
не помогло, увы.
но помог запрет переполнения надписи текстом
Код
        '.TextFrame.AutoSize = msoAutoSizeNone
        .TextFrame.VerticalOverflow = 1
        .TextFrame.HorizontalOverflow = 1
F1 творит чудеса
Страницы: 1
Наверх