Sub
exportExc2PP()
##################################################################
##################################################################
Dim
pathExcFold
As
String
pathExcFold =
"H:\ExcExports"
Dim
pathPP
As
String
pathPP =
"H:\Export"
##################################################################
Dim
fs
As
Object
Dim
fVerz
As
Object
Dim
fDatei
As
Object
Dim
fdateien
As
Object
Dim
strDat
As
String
Dim
i
As
Integer
i = 0
pathPP = pathPP &
"\" & "
Presentation_Template.pptx"
Dim
fso
As
Object
Dim
numb
As
Integer
Set
fso = CreateObject(
"Scripting.FileSystemObject"
)
numb = fso.GetFolder(pathExcFold).Files.Count
Set
fso =
Nothing
Dim
T()
As
String
ReDim
Preserve
T(1
To
numb)
Dim
objFSO
As
Object
Dim
objFolder
As
Object
Dim
objFile
As
Object
Dim
j
As
Integer
Set
objFSO = CreateObject(
"Scripting.FileSystemObject"
)
Set
objFolder = objFSO.GetFolder(
"H:\VA_VE\Projects\All_VM_Europe\Database\Export\ExcExports"
)
j = 1
For
Each
objFile
In
objFolder.Files
T(j) = objFile.Path
j = j + 1
Next
objFile
Dim
pptApp
As
PowerPoint.Application
Dim
pptSlide
As
PowerPoint.Slide
Dim
pptPresentation
As
PowerPoint.Presentation
Set
pptApp =
Nothing
Set
pptApp = CreateObject(
"PowerPoint.Application"
)
With
pptApp
.Visible =
True
.WindowState = ppWindowMaximized
.Activate
If
pathPP <>
""
Then
.Presentations.Open Filename:=pathPP,
ReadOnly
:=msoFalse
Else
.Presentations.Add
End
If
Set
pptPresentation = .ActivePresentation
End
With
Dim
k
As
Integer
Dim
newFilename
As
String
For
k = 1
To
numb
Workbooks.Open T(k)
Range(
"B5:F39"
).
Select
Selection.Copy
Set
pptSlide = pptPresentation.Slides.AddSlide(pptPresentation.Slides.Count + 1, _
pptPresentation.SlideMaster.CustomLayouts(2))
pptSlide.
Select
pptPresentation.Application.ActiveWindow.View.PasteSpecial DataType:= _
ppPasteOLEObject
With
pptPresentation.Application.ActiveWindow.Selection.ShapeRange
.Left = 25
.Top = 80
.Width = 1000
.Height = 420
End
With
Dim
titleStr
As
String
titleStr = Range(
"B1"
).Value
pptSlide.Shapes(3).TextFrame.TextRange.Text = titleStr
Application.CutCopyMode =
False
ActiveWorkbook.Close
False
Next
k
End
Sub