Диаграмма Excel (форма), вставленная как растровое изображение, не будет регулировать ширину в VBA? - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть таблица в электронной таблице, которую я хочу скопировать как растровое изображение и поместить в другое место на том же листе.Мой код ниже, хотя посмотреть особо нечего.Независимо от того, на что я изменяю .width, ширина диаграммы не подстраивается под то, что я говорю.Однако ширина изменится, если я изменю. Высота.Это указывает на то, что вставленное растровое изображение требует сохранения его первоначальных пропорций.

Является ли это свойство специфичным для растровых объектов, и есть ли способ обойти эту проблему, не меняя формат вставки на какой-либо иной формат, кроме растрового изображения?

Спасибо за вашу помощь.

Set AB = ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
With AB
    .Left = ActiveSheet.Range("AB1").Left
    .Top = ActiveSheet.Range("AB1").Top
    .Width = ActiveSheet.Range("AB100:BM100").Width
    .Height = ActiveSheet.Range("AB1:AB50").Height
End With

1 Ответ

0 голосов
/ 16 ноября 2018

Я предполагаю, что в вставленном вами растре есть набор " Lock Aspect Ratio " (Формат изображения -> Размер и свойства).В этом случае Excel изменит ширину растрового изображения после того, как вы установите высоту (чтобы сохранить соотношение сторон растрового изображения).

Используйте .LockAspectRatio = msoFalse передВы устанавливаете свойства Высота и Ширина.

...