Excel 动态调整打印区域的大小,以在聚集条形图的类别轴中查看截断的文本

Excel 动态调整打印区域的大小,以在聚集条形图的类别轴中查看截断的文本,excel,vba,bar-chart,powerpoint,axis-labels,Excel,Vba,Bar Chart,Powerpoint,Axis Labels,我正在将聚集条形图从工作簿复制并粘贴到动态创建的Powerpoint平台。条形图类别轴可能有长文本(轴标签),有时会被截断。类别轴的换行文本选项变灰。因此,我想将图表的绘图区域动态地向右移动,以使类别轴截断文本可见 这是否可能,或者是否有使用VBA的替代解决方案?这将在每次运行时将左轴区域扩展50个点: With oSlide.Shapes(1) If .HasChart Then With .Chart.PlotArea .Width = .Width - 50

我正在将
聚集条形图
工作簿
复制并粘贴到动态创建的
Powerpoint平台
。条形图类别轴可能有长文本(轴标签),有时会被截断。类别轴的
换行文本
选项变灰。因此,我想将图表的
绘图区域动态地向右移动
,以使类别轴截断文本可见


这是否可能,或者是否有使用VBA的替代解决方案?

这将在每次运行时将左轴区域扩展50个点:

With oSlide.Shapes(1)
  If .HasChart Then
    With .Chart.PlotArea
      .Width = .Width - 50
      .Left = .Left + 50
    End With
  End If
End With

我需要一种基于文本长度或字长的动态方法,例如,如果平均类别标签字长超过类别轴标签在截断文本之前支持的最大字数,则减少绘图区域。在这几行。有趣的补充到您原来的职位!您必须计算字符数,然后根据您的语言计算平均字符宽度,根据字符数计算近似宽度和行数,然后调整图表打印区域的宽度和位置以使其显示。在开发代码时,请随时发布您的代码,我是来帮助您的。对不起@john Korchok。我反复思考了太多关于如何动态减少绘图区域的想法,以便不仅处理类别XAxis文本,而且处理我遇到的另一个问题,即图表标题文本溢出绘图区域。因此,我的评论是在这种混乱中作出的。顺便说一句,你的名字听起来很响亮……实际上,将
PlotArea.Position
属性设置为
xlChartElementPositionAutomatic
似乎可以达到这个目的。尽管我仍然必须将XAxis字体类别从默认的
Arial-12
减少到
Arial-8
。我宁愿不设置字体属性,而是使用图表的默认设置。图表VBA实际上与Word位于单独的模块中,因为Office使用Excel提供图表功能。但是添加.Chart后,您可以轻松地访问它。
With oSlide.Shapes(1)
  If .HasChart Then
    With .Chart.PlotArea
      .Width = .Width - 50
      .Left = .Left + 50
    End With
  End If
End With