VBA - автоматически копировать графики и таблицы в ppt - PullRequest
0 голосов
/ 10 мая 2018

Я пишу код для автоматического копирования некоторых диаграмм из Excel в PPT. Первая проблема, с которой я сталкиваюсь, связана с объявлением переменной

Dim newPowerPoint As PowerPoint.Application
Dim activeSlide As PowerPoint.Slide

Ошибка «Пользовательский тип не определен». Просто чтобы вы знали, что я довольно новичок в этом VBA, поэтому некоторые описательные комментарии были бы действительно полезны.

1 Ответ

0 голосов
/ 10 мая 2018

ошибка, которую вы получаете, состоит в том, что ваши переменные powerpoint хотят быть определены как объекты, а объекты позже будут установлены как приложения powerpoint.

Sub ChartX2P()

Dim PowerPointApp As Object
Dim myPresentation As Object
Dim mySlide As Object
Dim myShape As Object

If ActiveChart Is Nothing Then 
MsgBox "Hey, please select a chart first." 
Exit Sub 
End If

If PowerPointApp Is Nothing Then _ 
Set PowerPointApp = CreateObject(class:="PowerPoint.Application")

On Error GoTo 0

Application.ScreenUpdating = False

'this will create a new powerpoint for your chart
Set myPresentation = PowerPointApp.Presentations.Add

'this will open an old powerpoint up, just change "File address" to the address
'Set myPresentation = PowerPointApp.Presentations.Open(Filename:="FileAddress")

Set mySlide = myPresentation.Slides.Add(1, 11) '11 = ppLayoutTitleOnly

ActiveChart.ChartArea.Copy

mySlide.Shapes.Paste
Set myShape = mySlide.Shapes(mySlide.Shapes.Count)

myShape.Left = 200
myShape.Top = 200

PowerPointApp.Visible = True
PowerPointApp.Activate

Application.CutCopyMode = False

End Sub

Это взято из здесь , но выглядит довольно просто, все, что вы не можете получить с сайта, дайте мне знать

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