Сохранить все фигуры в сгруппированном изображении в виде файла png - PullRequest
1 голос
/ 14 июня 2019

Я искал то, что кажется простым ответом, но я не могу найти тот, который смог бы использовать. Мне нужно выбрать сгруппированную фигуру в Excel и сохранить ее с именем XX.PNGIN A SPECIFIC FILE location.

Я устал приведенный ниже код, но он не работает.

Неужели так сложно просто выбрать группу фигур ???

Спасибо

ниже кода устал и несколько других вещей

Public Sub AddChartObjects()

    Dim chtObj As ChartObject
    Dim ment As Variant
        With ThisWorkbook.Worksheets("SUMMARY INFOGRAPHIC")
            .Activate

            Set chtObj = .ChartObjects.Add(100, 30, 400, 250)
            chtObj.Name = "TemporaryPictureChart"

            'resize chart to picture size
            chtObj.Width = .Shapes().Group("group 17").Width
            chtObj.Height = .Shapes().Group("group 17").Height

            ActiveSheet.Shapes.Range(Array("TestPicture")).Select
            Selection.Copy

            ActiveSheet.ChartObjects("TemporaryPictureChart").Activate
            ActiveChart.Paste

            ActiveChart.Export Filename:="I:\Blenheim House\Analytics\North Region Report Library\Friends & Family\downloads\June\final versions\filename.jpg", FilterName:="jpg"

            chtObj.Delete
        End With
End Sub

1 Ответ

1 голос
/ 14 июня 2019

Предполагая, что вы назвали свою группу фигур "группа 17", вы можете просто ссылаться на них, используя объект Shapes ...

    'resize chart to picture size
    chtObj.Width = .Shapes("group 17").Width
    chtObj.Height = .Shapes("group 17").Height

Кроме того, ваш код можно переписать следующим образом ...

Public Sub AddChartObjects()

    Dim chtObj As ChartObject

        With ThisWorkbook.Worksheets("SUMMARY INFOGRAPHIC")
            .Activate

            Set chtObj = .ChartObjects.Add(100, 30, 400, 250)
            chtObj.Name = "TemporaryPictureChart"

            'resize chart to picture size
            chtObj.Width = .Shapes("group 17").Width
            chtObj.Height = .Shapes("group 17").Height

            .Shapes("group 17").Copy

            With chtObj
                .Activate
                With .Chart
                    .Paste
                    .Export Filename:="I:\Blenheim House\Analytics\North Region Report Library\Friends & Family\downloads\June\final versions\filename.jpg", FilterName:="jpg"
                End With
                .Delete
            End With
        End With

End Sub

Надеюсь, это поможет!

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