Powerpoint VBA-调整图表和轴标题的位置

Powerpoint VBA-调整图表和轴标题的位置,vba,powerpoint,Vba,Powerpoint,我有以下代码: Sub StandardiseChart(ByVal control As IRibbonControl) Dim activeShape As Shape 'Determine Which Shape is Active If ActiveWindow.Selection.Type = ppSelectionShapes Then 'Loop in case multiples shapes selected Dim shp As Shape For Eac

我有以下代码:

Sub StandardiseChart(ByVal control As IRibbonControl)

Dim activeShape As Shape

'Determine Which Shape is Active
If ActiveWindow.Selection.Type = ppSelectionShapes Then
'Loop in case multiples shapes selected
    Dim shp As Shape
    For Each shp In ActiveWindow.Selection.ShapeRange
         Set activeShape = shp ' First shape selected
         Exit For
    Next

'Now, reformat the selected shape if it is a chart
    With activeShape
        If .HasChart Then

            ' Chart title
            .Chart.HasTitle = True
            With .Chart.ChartTitle
                .Left = 0
                .Top = 0
            End With

            ' Y axis
            With .Chart.Axes(xlValue, xlPrimary)
            .HasTitle = True
            .AxisTitle.Text = "Placeholder"
            .AxisTitle.Left = 0
            .AxisTitle.Top = 20
            .AxisTitle.Orientation = 0
            End With

            ' Plot Area
            With .Chart.PlotArea
                .Left = 10
                .Top = 50
            End With

        End If

    End With ' activeShape

End If

End Sub
我希望它能做三件事:

  • 将图表标题固定到整个对象的左上角(这似乎很好)
  • 设置y轴标题,使其与图表标题之间有20磅的空间(看起来也不错)
  • 在绘图区域和y轴标题之间再创建50磅的空间(不精细)
  • 无论我做什么(我试着将数字调整为70而不是50,甚至更大),我似乎无法调整空间来实现(3)。具体来说,无论我做什么,绘图区域都不会移动


    我做错了什么?

    如果在Chart.Plotarea的末尾添加一个点,您可以看到方法列表。在您的情况下,您正在查找.InsideLeft.InsideTop,因为您要调整与图表区域的内部距离:

    With .Chart.PlotArea
        .InsideLeft = 70
        .InsideTop = 70
    End With