2017-10-06 2 views
0

J'ai cet extrait de code pour importer une image dans Powerpoint.Importer des images dans Powerpoint

Fucnction InsertPic (gfilename as string) 
activeWindow.selection.sliderange.shapes.addpicture(_FileName:=gfilename,_ 
LinkToFile:=msoFalse,_ 
SaveWithDocument:=msoTrue, Right: 40, Top: 25,_ 
Width:=70, Height:=40).Select 

Puis-je savoir comment modifier ce code pour mettre l'image à l'intérieur d'un PPT déjà ouvert et le code peut inviter l'utilisateur à sélectionner l'image pour mettre en toutes les diapositives (même, une image dans toutes les diapositives) sauf pour les diapositives premier et dernier, au lieu de moi mettre l'adresse du fichier?

+0

qu'avez-vous reclassé jusqu'ici? –

+0

que voulez-vous dire? –

+0

quelles étaient vos tentatives initiales. où as-tu des difficultés? rencontrez-vous des erreurs? https://stackoverflow.com/help/how-to-ask –

Répondre

0

Pour sélectionner un PPT utilisez le code suivant déjà ouvert:

Dim ppt As Object 
Set ppt = GetObject(, "powerpoint.application") 

Pour inviter l'utilisateur à prendre certains utilisent l'image

Dim sl As Object 
dim gfilename as String 

For Each sl In ppt.activepresentation.slides 
    FileName = Application.GetOpenFilename _ 
    (FileFilter:="Pictures, *.jpg; *.gif", Title:="Select a Picture", MultiSelect:=False) 
    sl.Shapes.AddPicture FileName, 0, -1, 25, 40, 10, 40 
Next sl 

et enfin, à omnit la première et la dernière diapositive , ajouter la condition

If sl.slidenumber > 1 And sl.slidenumber < ppt.activepresentation.slides.Count Then 

emballage en place:

Function InsertPic() 
Dim ppt As Object 
Dim sl As Object 
Dim FileName As String 

Set ppt = GetObject(, "powerpoint.application") 
For Each sl In ppt.activepresentation.slides 
    If sl.slidenumber > 1 And sl.slidenumber < ppt.activepresentation.slides.Count Then 
    FileName = Application.GetOpenFilename _ 
    (FileFilter:="Pictures, *.jpg; *.gif", Title:="Select a Picture", MultiSelect:=False) 
    sl.Shapes.AddPicture FileName, 0, -1, 25, 40, 10, 40 
    End If 
Next sl 


End Function