Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

INSÉRER UN DOCUMENT PPT AUTOMATIQUEMENT DANS UN WORD


Information sur la source

Description

Importer la référence "Microsoft Power Point" -:)

Elle permet sous Word d'importer un document ppt ou pps en exportant de power point le fichier en jpg et en le réimportant... c'est surtout pour l'impression
 

Source

  • Private Sub OK_Click()
  • '
  • ' Import_Ppt Macro
  • ' Macro créée le 18/04/2007 par EDF-GDF
  • On Error GoTo lblerror3
  • ' test pour vérifier si il s'aigt bien d'un répertoire valide
  • str_test = Me.Folder
  • If Right(str_test, 1) <> "\" Then
  • Me.Folder = str_test + "\"
  • End If
  • ' recup des formulaires
  • nbrDiapo = Me.Nombre_diapo
  • File_ppt = Me.Folder + Me.File
  • ' init
  • StrExportdir = "Export"
  • Strjpg = StrExportdir & ".jpg"
  • Diapo = "Diapositive"
  • SavedFolder = File_ppt + Strjpg + ".Jpg"
  • SavedFolder_simple = File_ppt + StrExportdir + ".Jpg" + "\"
  • ' si pas de nombre de diapo erreur
  • If nbrDiapo = "" Then GoTo lblerror2
  • ' test: est ce un fichier ppt ?
  • str_test = Me.File
  • If Right(str_test, 4) <> ".ppt" And Right(str_test, 4) <> ".pps" Then
  • msgbox "Le fichier doit être un fichier avec extenssion ppt ou pps"
  • GoTo fin
  • End If
  • ' sauvegarde ppt en jpeg
  • Dim ppt As New PowerPoint.Application
  • ppt.Activate
  • ' ouverture
  • ppt.Presentations.Open FileName:=File_ppt, ReadOnly:=msoFalse
  • ' sauvergarde en jpg
  • ppt.ActivePresentation.SaveAs FileName:=SavedFolder, FileFormat:=ppSaveAsJPG, EmbedTrueTypeFonts:=msoFalse
  • ' fermeture
  • ppt.ActivePresentation.Close
  • ppt.Quit
  • ' import jpeg
  • On Error GoTo lblerror
  • For i = 1 To nbrDiapo
  • str_ = SavedFolder_simple & Diapo & i & ".JPG"
  • ' importation du fichier jpg dans le word
  • Selection.InlineShapes.AddOLEObject FileName:= _
  • str_, LinkToFile:= _
  • False, DisplayAsIcon:=False
  • Next
  • GoTo fin
  • lblerror:
  • msgbox " L'importation a fonctionné, mais vous avez saisi un nombre de diapositives trop grand"
  • GoTo fin
  • lblerror2:
  • msgbox " Vous devez rentrez un nombre de diapositives (en chiffres ) "
  • GoTo fin
  • lblerror3:
  • msgbox " Erreur, Paramètres incorrects "
  • GoTo fin
  • fin:
  • ' sauvegarde du document
  • ActiveDocument.Save
  • End Sub
Private Sub OK_Click()
'
' Import_Ppt Macro
' Macro créée le 18/04/2007 par EDF-GDF
    
    On Error GoTo lblerror3
    
' test pour vérifier si il s'aigt bien d'un répertoire valide
    str_test = Me.Folder
    If Right(str_test, 1) <> "\" Then
        Me.Folder = str_test + "\"
    End If

' recup des formulaires
    
    nbrDiapo = Me.Nombre_diapo
    File_ppt = Me.Folder + Me.File
    
'   init
    
    StrExportdir = "Export"
    
    Strjpg = StrExportdir & ".jpg"
    
    Diapo = "Diapositive"
    
    SavedFolder = File_ppt + Strjpg + ".Jpg"
    
    SavedFolder_simple = File_ppt + StrExportdir + ".Jpg" + "\"
    
'   si pas de nombre de diapo erreur
    If nbrDiapo = "" Then GoTo lblerror2

' test: est ce un fichier ppt ?
    str_test = Me.File
    If Right(str_test, 4) <> ".ppt" And Right(str_test, 4) <> ".pps" Then
        
        msgbox "Le fichier doit être un fichier avec extenssion ppt ou pps"
        
        GoTo fin
    End If
    
' sauvegarde ppt en jpeg

    Dim ppt As New PowerPoint.Application
    
    ppt.Activate
'   ouverture
    ppt.Presentations.Open FileName:=File_ppt, ReadOnly:=msoFalse
'   sauvergarde en jpg
    ppt.ActivePresentation.SaveAs FileName:=SavedFolder, FileFormat:=ppSaveAsJPG, EmbedTrueTypeFonts:=msoFalse
'   fermeture
    ppt.ActivePresentation.Close
    ppt.Quit
    
' import jpeg
    
    On Error GoTo lblerror
   
    For i = 1 To nbrDiapo
        
        str_ = SavedFolder_simple & Diapo & i & ".JPG"
        ' importation du fichier jpg dans le word
        Selection.InlineShapes.AddOLEObject FileName:= _
            str_, LinkToFile:= _
            False, DisplayAsIcon:=False
    Next
    
    GoTo fin

lblerror:
    msgbox " L'importation a fonctionné, mais vous avez saisi un nombre de diapositives trop grand"
    
    GoTo fin

lblerror2:
    msgbox " Vous devez rentrez un nombre de diapositives (en chiffres ) "
    
    GoTo fin

lblerror3:
    msgbox " Erreur, Paramètres incorrects "
    
    GoTo fin

fin:


' sauvegarde du document
    ActiveDocument.Save
    
End Sub

Conclusion

Moi je l'ai mis dans le code d'un bouton OK, mais c'est un exemple.

Dans l'exemple il y a deux text box qui permettent de sélectionner le répertoire et le fichier... cela avait été fait pour des besoins spécifiques...

N'oubliez pas d'importer la référence "Microsoft Power Point" -:)

Plus de renseignements sur http://lopez.thomas1.free.fr/programmation/
 

Commentaires et avis

signaler à un administrateur
Commentaire de apxa le 28/04/2007 14:04:57

Iop,
si tu pousse bien ton exploitation de la lib powerpoint tu vera que t'es pas obligé de faire saisir le nombre de diapo manuellement

Have Fun ;)

signaler à un administrateur
Commentaire de Syruis le 02/05/2007 09:59:04

Lut,

je connais cet possibillité ( d'aillieurs si ta le code balance ) mais c'est fait pour qu'on puisse insérer que les première diapo ( ppt de 100 pages... dommage )... enfin voila!

@+

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Vba Word / commonDialog.......HELP [ par villissina ] j'affiche la fenetre de parametrage d'imprimante avec la commande:CommonDialog1.ShowPrinterComment gerer reellement les boutons OK et Annuler ???En fa Composants EXCEL 8, Word 8, PowerPoint 8 dans VB5 [ par PPI ] Je suis à la recherche de code permettant l'utilisation des composantsExcel 8 (excel97)Word 8 (Word97)PowerPoint 8 (Ppt97)dans un programme VB5.Pas un VBA : Automation d'Access vers Word [ par JS ] Je suis à la recherche d'un code source en VBA pour Access faisant la chose suivante : 1. Lancer Word2. Charger un document type3. Remplacer des mots VBA - WORD [ par Blanche ] Je désire faire une pause lors de l'exécution de la macro afin de permettre à l'utilisation de faire des corrections dans le document. Donc, une paus Mise à jour d'une formulaire créé en VBA/WORD [ par Blanche ] J'ai créé un formulaire en VBA contenant les informations fixes qui apparaissent dans toutes mes documents Word. Ce que je voudrais faire, c'est donn VBA word [ par Zackarry ] salutj me permet de vous ecrire parce que je debute sur vba et g un probleme. alors j me suis dis que peut etre ..Donc voila c sous word g un nombre d Différence entre VBA sous Access et VBA sous Word [ par ZOZO ] Je travaille actuellement sur l'élaboration d'un cahier des charges d'un logiciel d'édition de document :les documents générés seront des document Wor Interception des commende Word en VBA [ par fdnet ] Hello,Comment faire pour intercepter la commende d'enregistrement d'un document word ?Je m'explique, je souhaiterai controler les nom des fichiers sai VBA WORD PC/MAC [ par Thierry ] Bonsoirje recherche une personne qui pourrait me remplacer sur un projet VBA Word; j'ai développer une série de macros sur PC, et il faudrait maintena Evènement sous VBA Word [ par Tommy ] Bonjour,Sous VBA Word, j'ajoute de façon dynamique des checkbox. Jusque là pas de problème.Par contre comment fait on pour intercepter les évènements


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,484 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.