首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel到PowerPoint的导出不需要格式化Excel工作表

Excel到PowerPoint的导出不需要格式化Excel工作表
EN

Stack Overflow用户
提问于 2018-07-30 18:16:26
回答 1查看 53关注 0票数 1

我已经成功地创建了一个VBA宏,用于将各种图表和表导出到PPT,但是,目前我遇到了以下问题:

将图表导出为PPT时,在VBA代码中定义的格式也将应用于Excel工作表(尺寸、图例、标题)。有没有人可以为我提供一些可能的提示,使上述选项仅在PPT中应用,但在Excel中保持不变?

这是我到目前为止尝试过的代码:

代码语言:javascript
复制
ActiveSheet.ChartObjects(1).Activate
ActiveSheet.ChartObjects(1).Width = 380
ActiveSheet.ChartObjects(1).Height = 125
ActiveSheet.ChartObjects(1).Border.LineStyle = xlNone
'ActiveChart.HasTitle = False
'ActiveChart.HasLegend = False   
Set cht = ActiveSheet.ChartObjects(1).Chart
With cht
    .HasLegend = False
    .HasTitle = False
End With
Set activeSlide = newPowerPoint.ActivePresentation.Slides(newPowerPoint.ActivePresentation.Slides.Count)
    ActiveChart.ChartArea.Copy
    activeSlide.Shapes.PasteSpecial(DataType:=ppPasteMetafilePicture).Select
    newPowerPoint.ActiveWindow.Selection.ShapeRange.Left = 90
    newPowerPoint.ActiveWindow.Selection.ShapeRange.Top = 138

我非常确定有另一种方法可以做到这一点,但我还没有意识到它。

任何帮助都将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-30 20:23:02

您可以跟踪设置,并在完成后恢复。

代码语言:javascript
复制
acW = ActiveSheet.ChartObjects(1).Width
acH = ActiveSheet.ChartObjects(1).Height
acBLS = ActiveSheet.ChartObjects(1).).Border.LineStyle

' your code

ActiveSheet.ChartObjects(1).Width = acW
ActiveSheet.ChartObjects(1).Height = acH
ActiveSheet.ChartObjects(1).Border.LineStyle = acBLS
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51591725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档