View Single Post
 
Old 09-21-2017, 06:55 PM
sas sas is offline Windows 10 Office 2010 64bit
Novice
 
Join Date: Sep 2017
Posts: 3
sas is on a distinguished road
Default New learner need help - convert tables in word format to ppt slides.

Hello all.

I am new learner in VBA, and writing some VBscript in SAS.

I want to convert tables in word format (.rtf) to ppt slides (.ppt). The following is my code, which could copy the first table in the specific word file, paste into a new ppt file and save under certain folder. I need help on these two questions.

1. How to get the number of tables in the word file?
2. Once I got the number of tables, how to write a loop and copy/paste each table into the ppt file? Each table will be on one slide of ppt file.

Thank you very much!



filename script "C:\Users\zzz\Desktop\New\wdtb2ppt.vbs";

data _null_;
file script;
put 'Set objWord = CreateObject("Word.Application")';
put 'objWord.Visible = False';
/* Slide 1*/
put 'Set objDoc = objWord.Documents.Open("' "C:\Users\zzz\Desktop\New\t_aesum_age_saf.rtf"'")' ;
put 'Set objSelection = objWord.Selection';
put 'Set objPPT = CreateObject("PowerPoint.Application")';
put 'objPPT.Visible = True';
put 'Set objPresentation = objPPT.Presentations.Add';
/* put 'objPresentation.ApplyTemplate("C:\temp\tmp3.pot") ';*/
put 'objDoc.Activate';
put 'objDoc.Tables(1).Range.Select';
put 'objSelection.Copy';
put 'Set objSlide = objPresentation.Slides.Add(1,12)';
put 'objPPT.ActiveWindow.View.Paste';

put 'objPresentation.SaveAs("C:\Users\zzz\Desktop\New\ table.ppt")';
put 'objPresentation.Close';
put 'objPPT.Quit';
put 'objDoc.Close';
put 'objWord.Quit';
run;

filename xx pipe "cscript //nologo ""C:\Users\zzz\Desktop\New\wdtb2ppt.vbs""";
data _null_;
infile xx;
input;
put _infile_;
run;
Reply With Quote