#1
|
|||
|
|||
How Do I Pull Slides from Multiple Files
Hello - I have a "deck" that is built weekly. Currently, I have to go into multiple files and copy from each file and paste into the weekly deck. How can I set it up so that every week, it can be pulled and updated automatically. Thanks for any assistance! |
#2
|
|||
|
|||
Do you want every slide from all of these other files to end up in the weekly deck presentation?
|
#3
|
|||
|
|||
You will really need to use code to do this.
Try this: Create a text file that looks like this Path to each file, first slide to add, last slide to add each on a new line "C:\Users\John\Desktop\Pres 1.pptx",1,1 "C:\Users\John\Desktop\Pres 2.pptx",2,3 etc Then run this code (get back if you don't know how) Code:
Sub PasteSlides() Dim filenum As Integer Dim strBuffer As String Dim rayData() As String filenum = FreeFile ' change to your text file location Open "C:\Users\John\Desktop\data.txt" For Input As filenum While Not EOF(filenum) Line Input #filenum, strBuffer rayData = Split(strBuffer, ",") With ActivePresentation.Slides .InsertFromFile rayData(0), .Count, CLng(rayData(1)), CLng(rayData(2)) End With Wend End Sub |
#4
|
|||
|
|||
A quick tutorial on how to run this would be great! Thank you!
|
#5
|
|||
|
|||
1. Create a text file with Notepad
Each line should have the path to the required ppt in quotes then the first slide and last slide requires separated by commas Like this (with more lines) "C:\Users\John\Desktop\Pres 1.pptx",1,1 "C:\Users\John\Desktop\Pres 2.pptx",2,3 etc Save on to Desktop 2. Add & run code Open powerpoint with a single blank slide ALT f11 to open the vb editor INSERT >> Module Paste in this code (changed to point at YOUR Desktop not mine!) Code:
Sub PasteSlides() Dim filenum As Integer Dim strBuffer As String Dim rayData() As String filenum = FreeFile Open Environ("USERPROFILE") & "\Desktop\data.txt" For Input As filenum While Not EOF(filenum) Line Input #filenum, strBuffer rayData = Split(strBuffer, ",") With ActivePresentation.Slides .InsertFromFile rayData(0), .Count, CLng(rayData(1)), CLng(rayData(2)) End With Wend End Sub |
#6
|
|||
|
|||
Just wanted to say thanks! This works great and now takes about 3 seconds to build an entire file of 57 slides!
Is there a simple way to "keep source formatting" that can be added? |
#7
|
|||
|
|||
Not really a simple way but you could try this (don't throw the old code away - I don't guarantee it will work!)
Code:
Sub PasteSlides() Dim filenum As Integer Dim strBuffer As String Dim rayData() As String Dim oLib As Presentation Dim raySlides() As Long Dim L As Long Dim x As Long filenum = FreeFile ' change to your text file location Open "C:\Users\John\Desktop\data.txt" For Input As filenum While Not EOF(filenum) Line Input #filenum, strBuffer rayData = Split(strBuffer, ",") Set oLib = Presentations.Open(FileName:=rayData(0), WithWindow:=False) ReDim raySlides(1 To rayData(2) - rayData(1) + 1) For L = CLng(rayData(1)) To CLng(rayData(2)) x = x + 1 raySlides(x) = L Next L oLib.Slides.Range(raySlides).Copy oLib.Close ActivePresentation.Windows(1).Activate CommandBars.ExecuteMso ("PasteSourceFormatting") DoEvents x = 0 Wend End Sub C:\Users\John\Desktop\Pres 1.pptx,1,1 C:\Users\John\Desktop\Pres 2.pptx,2,3 If there is always just ONE slide to paste from each file that will make it easier. |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
sumproduct formula to pull info from multiple sheets | Berk21 | Excel | 7 | 01-15-2012 11:41 AM |
Animation across multiple slides - please help | jpscience | PowerPoint | 3 | 12-13-2011 11:32 AM |
WYSIWYG exporting of slides to PNG files | Pantucci | PowerPoint | 0 | 07-25-2011 07:47 AM |
convert multiple csv files to multiple excel files | mit | Excel | 1 | 06-14-2011 10:15 AM |
macro to pull data from multiple files | psrs0810 | Excel | 2 | 10-25-2010 01:49 PM |