Arhn - архитектура программирования

Диаграмма Excel VBA Автоматическая форма Верхнее левое положение

У меня есть диаграмма в Excel. Я добавил форму на диаграмму с помощью:

excelChart.Shapes.AddShape(msoShapeRectangle, 0, 0, excelChart.ChartArea.width, 15)

Диаграмма с фигурой

Я выбрал зеленое поле и запустил следующий макрос:

Sub Macro6()

    Selection.ShapeRange.Left = 0
    Selection.ShapeRange.Top = 0

End Sub

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

Как я могу программно расположить зеленую рамку в углу?

09.12.2016

Ответы:


1

Попробуйте использовать IncrementLeft и IncrementTop.

Sub AddBox()
    Dim cht As Chart

    Set cht = Worksheets(1).ChartObjects(1).Chart

    With cht.Shapes.AddShape(msoShapeRectangle, 0, 0, cht.ChartArea.Width, 15)
        .Name = "MyShape"
        .IncrementLeft -5  //Experiment with number to get desired effect
        .IncrementTop -5
    End With
End Sub
09.12.2016
  • Спасибо, это то, что я в итоге сделал. Я надеялся, что может быть какое-то свойство, которое я мог бы прочитать, которое могло бы дать мне точное значение для этого поля/отступа, а не жесткое кодирование 5.. 09.12.2016
  • Я провел добрых 45 минут, просматривая документы MSDN по объектной модели диаграммы, но не смог найти никакого очевидного свойства. Согласитесь, мое решение выглядит немного взломанным. Возможно, кто-то из больших нападающих VBA сможет осветить этот темный угол! 09.12.2016
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..