J'ai une secrétaire qui me fait une gaffe depuis un certain temps.
Lorsqu'elle sauve un attachement d'un émail, elle sauvegarde TOUT le mail en
format Word.
Résultat: J'ai aujourd'hui 1245 documents word qui représentent les mails.
Maintenant, je dois récupérer tous les fichiers attachés.
C'est faisable en faisant un clic droit sur l'objet et dans le menu qui
apparais, je dois faire:
- File Object => Save as
Vu que j'ai 1245 documents Word à ouvrir, j'aimerais automatiser le travail.
Comment???
Lorsque j'exécute l'enregistreur de macro, je pers le bouton droit de la souris.
J'ai une secrétaire qui me fait une gaffe depuis un certain temps. Lorsqu'elle sauve un attachement d'un émail, elle sauvegarde TOUT le mail en format Word. Résultat: J'ai aujourd'hui 1245 documents word qui représentent les mails. Maintenant, je dois récupérer tous les fichiers attachés. Lorsque j'exécute l'enregistreur de macro, je pers le bouton droit de la souris.
Ce n'est pas une question de souris ni de secrétaire. Word n'a pas de messageur. Il sous-traite ces fonctions. Le vôtre est probablement une version d'Outlook. L'enregistreur de macro ne peut pas sortir de Word. Si vous retrouvez vos PJ dans des documents Word, il peut s'agir d'InlineShapes (images ou icônes d'objets) qu'il serait possible d'enregistrer.
Anacoluthe « On rejette toujours la faute sur le messager. » - Donald WESTLAKE
Bonjour !
'Andre' nous a écrit ...
J'ai une secrétaire qui me fait une gaffe depuis un certain temps.
Lorsqu'elle sauve un attachement d'un émail, elle sauvegarde TOUT le mail en
format Word.
Résultat: J'ai aujourd'hui 1245 documents word qui représentent les mails.
Maintenant, je dois récupérer tous les fichiers attachés.
Lorsque j'exécute l'enregistreur de macro, je pers le bouton droit de la souris.
Ce n'est pas une question de souris ni de secrétaire. Word n'a pas de messageur.
Il sous-traite ces fonctions. Le vôtre est probablement une version d'Outlook.
L'enregistreur de macro ne peut pas sortir de Word.
Si vous retrouvez vos PJ dans des documents Word, il peut s'agir d'InlineShapes
(images ou icônes d'objets) qu'il serait possible d'enregistrer.
Anacoluthe
« On rejette toujours la faute sur le messager. »
- Donald WESTLAKE
J'ai une secrétaire qui me fait une gaffe depuis un certain temps. Lorsqu'elle sauve un attachement d'un émail, elle sauvegarde TOUT le mail en format Word. Résultat: J'ai aujourd'hui 1245 documents word qui représentent les mails. Maintenant, je dois récupérer tous les fichiers attachés. Lorsque j'exécute l'enregistreur de macro, je pers le bouton droit de la souris.
Ce n'est pas une question de souris ni de secrétaire. Word n'a pas de messageur. Il sous-traite ces fonctions. Le vôtre est probablement une version d'Outlook. L'enregistreur de macro ne peut pas sortir de Word. Si vous retrouvez vos PJ dans des documents Word, il peut s'agir d'InlineShapes (images ou icônes d'objets) qu'il serait possible d'enregistrer.
Anacoluthe « On rejette toujours la faute sur le messager. » - Donald WESTLAKE
andre
Bonjour,
Merci pour votre réponse. Donc si je comprends, je vais devoir ouvrir les ± 1200 documents à la main !
Bon... allons y!
Andre
Ce n'est pas une question de souris ni de secrétaire. Word n'a pas de messageur. Il sous-traite ces fonctions. Le vôtre est probablement une version d'Outlook. L'enregistreur de macro ne peut pas sortir de Word. Si vous retrouvez vos PJ dans des documents Word, il peut s'agir d'InlineShapes (images ou icônes d'objets) qu'il serait possible d'enregistrer.
Anacoluthe « On rejette toujours la faute sur le messager. » - Donald WESTLAKE
Bonjour,
Merci pour votre réponse. Donc si je comprends, je vais devoir ouvrir les ± 1200
documents à la main !
Bon... allons y!
Andre
Ce n'est pas une question de souris ni de secrétaire. Word n'a pas de messageur.
Il sous-traite ces fonctions. Le vôtre est probablement une version d'Outlook.
L'enregistreur de macro ne peut pas sortir de Word.
Si vous retrouvez vos PJ dans des documents Word, il peut s'agir d'InlineShapes
(images ou icônes d'objets) qu'il serait possible d'enregistrer.
Anacoluthe
« On rejette toujours la faute sur le messager. »
- Donald WESTLAKE
Merci pour votre réponse. Donc si je comprends, je vais devoir ouvrir les ± 1200 documents à la main !
Bon... allons y!
Andre
Ce n'est pas une question de souris ni de secrétaire. Word n'a pas de messageur. Il sous-traite ces fonctions. Le vôtre est probablement une version d'Outlook. L'enregistreur de macro ne peut pas sortir de Word. Si vous retrouvez vos PJ dans des documents Word, il peut s'agir d'InlineShapes (images ou icônes d'objets) qu'il serait possible d'enregistrer.
Anacoluthe « On rejette toujours la faute sur le messager. » - Donald WESTLAKE
Geo
Bonjour,
Merci pour votre réponse. Donc si je comprends, je vais devoir ouvrir les ± 1200 documents à la main !
Bon... allons y!
Peut-être pas, au moins en théorie tout ce qu'on peut faire à la main peut être fait par macro, mais comme vous l'indique Anacoluthe, l'enregistreur de macros a des limites, il faut donc programmer soi-même. Si vous pouviez nous faire un petit exemple (non confidentiel) sur www.cjoint.com, nous pourrions sans doute vous aider sur cette face cachée que ne voit pas l'enregistreur et qui parait vous poser problème. Précisez aussi vos versions.
-- A+
Bonjour,
Merci pour votre réponse. Donc si je comprends, je vais devoir ouvrir les ± 1200
documents à la main !
Bon... allons y!
Peut-être pas, au moins en théorie tout ce qu'on peut faire à la main
peut être fait par macro, mais comme vous l'indique Anacoluthe,
l'enregistreur de macros a des limites, il faut donc programmer
soi-même.
Si vous pouviez nous faire un petit exemple (non confidentiel) sur
www.cjoint.com, nous pourrions sans doute vous aider sur cette face
cachée que ne voit pas l'enregistreur et qui parait vous poser
problème.
Précisez aussi vos versions.
Merci pour votre réponse. Donc si je comprends, je vais devoir ouvrir les ± 1200 documents à la main !
Bon... allons y!
Peut-être pas, au moins en théorie tout ce qu'on peut faire à la main peut être fait par macro, mais comme vous l'indique Anacoluthe, l'enregistreur de macros a des limites, il faut donc programmer soi-même. Si vous pouviez nous faire un petit exemple (non confidentiel) sur www.cjoint.com, nous pourrions sans doute vous aider sur cette face cachée que ne voit pas l'enregistreur et qui parait vous poser problème. Précisez aussi vos versions.
-- A+
Andre
Bonjour, C'est sympa...
J'ai mis à l'URL suivante un exemple de document ou je dois extraire le fichier attaché et le sauvegarder dans un répertoire quelconque.
http://cjoint.com/?cziVBDyUFX
Si vous trouvez quelque chose ... je baisse mon chapeau et total respect.
André
Peut-être pas, au moins en théorie tout ce qu'on peut faire à la main peut être fait par macro, mais comme vous l'indique Anacoluthe, l'enregistreur de macros a des limites, il faut donc programmer soi-même. Si vous pouviez nous faire un petit exemple (non confidentiel) sur www.cjoint.com, nous pourrions sans doute vous aider sur cette face cachée que ne voit pas l'enregistreur et qui parait vous poser problème. Précisez aussi vos versions.
Bonjour,
C'est sympa...
J'ai mis à l'URL suivante un exemple de document ou je dois extraire le fichier
attaché et le sauvegarder dans un répertoire quelconque.
http://cjoint.com/?cziVBDyUFX
Si vous trouvez quelque chose ... je baisse mon chapeau et total respect.
André
Peut-être pas, au moins en théorie tout ce qu'on peut faire à la main
peut être fait par macro, mais comme vous l'indique Anacoluthe,
l'enregistreur de macros a des limites, il faut donc programmer
soi-même.
Si vous pouviez nous faire un petit exemple (non confidentiel) sur
www.cjoint.com, nous pourrions sans doute vous aider sur cette face
cachée que ne voit pas l'enregistreur et qui parait vous poser
problème.
Précisez aussi vos versions.
J'ai mis à l'URL suivante un exemple de document ou je dois extraire le fichier attaché et le sauvegarder dans un répertoire quelconque.
http://cjoint.com/?cziVBDyUFX
Si vous trouvez quelque chose ... je baisse mon chapeau et total respect.
André
Peut-être pas, au moins en théorie tout ce qu'on peut faire à la main peut être fait par macro, mais comme vous l'indique Anacoluthe, l'enregistreur de macros a des limites, il faut donc programmer soi-même. Si vous pouviez nous faire un petit exemple (non confidentiel) sur www.cjoint.com, nous pourrions sans doute vous aider sur cette face cachée que ne voit pas l'enregistreur et qui parait vous poser problème. Précisez aussi vos versions.
Geo
J'ai mis à l'URL suivante un exemple de document ou je dois extraire le fichier attaché et le sauvegarder dans un répertoire quelconque.
http://cjoint.com/?cziVBDyUFX
Je n'arrive pas à le lire, il est protégé ?
-- A+
J'ai mis à l'URL suivante un exemple de document ou je dois extraire le fichier
attaché et le sauvegarder dans un répertoire quelconque.
non, pas du tout J'ai essayé le lien et il fonctionne très bien. Le document est crée en Word 2003.
Autrement, donnez-moi votre adresse E-mail et je vous envoie le document.
André
http://cjoint.com/?cziVBDyUFX
Je n'arrive pas à le lire, il est protégé ?
Anacoluthe
Bonjour !
'Andre' nous a écrit ...
J'ai mis à l'URL suivante un exemple de document ou je dois extraire le fichier attaché et le sauvegarder dans un répertoire quelconque.
Comme je le disais, il s'agit bien d'un objet incorporé dans une forme en ligne (inlineShape) en icône.
Vous devez disposer du serveur OLE gérant cet objet et lui passer la main. Ne pas oublier de référencer l'application dans VBE (votre objet est objet Outlook que je n'arrive pas à ouvrir dans ma version)
- Supposons pour simplifier l'objet comme document Word : Dim monObjet as Word.Document - Récupérons l'objet dans la 1ère InlineShape du document actif : Set monObjet = ActiveDocument.InlineShapes(1).OLEFormat.Object - Il devient facile de l'enregistrer : monObjet.SaveAs "C:MesObjetstoto.doc"
Il suffit ensuite d'automatiser ça sur les 1200 documents avec un petit coup de batchmacro (voir dans la FAQ) et le tour est joué.
Anacoluthe « C'est encore en méditant l'objet que le sujet a le plus de chance de s'approfondir. » - Gaston BACHELARD
Bonjour !
'Andre' nous a écrit ...
J'ai mis à l'URL suivante un exemple de document ou je dois extraire le fichier
attaché et le sauvegarder dans un répertoire quelconque.
Comme je le disais, il s'agit bien d'un objet incorporé dans une forme en ligne
(inlineShape) en icône.
Vous devez disposer du serveur OLE gérant cet objet et lui passer la main.
Ne pas oublier de référencer l'application dans VBE
(votre objet est objet Outlook que je n'arrive pas à ouvrir dans ma version)
- Supposons pour simplifier l'objet comme document Word :
Dim monObjet as Word.Document
- Récupérons l'objet dans la 1ère InlineShape du document actif :
Set monObjet = ActiveDocument.InlineShapes(1).OLEFormat.Object
- Il devient facile de l'enregistrer :
monObjet.SaveAs "C:MesObjetstoto.doc"
Il suffit ensuite d'automatiser ça sur les 1200 documents avec un petit
coup de batchmacro (voir dans la FAQ) et le tour est joué.
Anacoluthe
« C'est encore en méditant l'objet
que le sujet a le plus de chance de s'approfondir. »
- Gaston BACHELARD
J'ai mis à l'URL suivante un exemple de document ou je dois extraire le fichier attaché et le sauvegarder dans un répertoire quelconque.
Comme je le disais, il s'agit bien d'un objet incorporé dans une forme en ligne (inlineShape) en icône.
Vous devez disposer du serveur OLE gérant cet objet et lui passer la main. Ne pas oublier de référencer l'application dans VBE (votre objet est objet Outlook que je n'arrive pas à ouvrir dans ma version)
- Supposons pour simplifier l'objet comme document Word : Dim monObjet as Word.Document - Récupérons l'objet dans la 1ère InlineShape du document actif : Set monObjet = ActiveDocument.InlineShapes(1).OLEFormat.Object - Il devient facile de l'enregistrer : monObjet.SaveAs "C:MesObjetstoto.doc"
Il suffit ensuite d'automatiser ça sur les 1200 documents avec un petit coup de batchmacro (voir dans la FAQ) et le tour est joué.
Anacoluthe « C'est encore en méditant l'objet que le sujet a le plus de chance de s'approfondir. » - Gaston BACHELARD
Andre
Bonjour,
Merci pour le code, mais il ne fonctionne pas. J'ai le message d'erreur suivant: Run-time error 430 Class does not support Automation or does not support expected interface.
J'ai bien "Microsoft Word 11.0 Object library" et aussi "Microsoft Office 11.0 Object library" d'actif dans les références.
Est ce une librairie qui manquerait?
André
Voici le code que j'ai écris: sub test() Dim objDoc As Word.Document Dim attache As Word.Document chemin = "D:FichierWord"
fichier = Dir(chemin) While fichier <> "" If Right(fichier, 3) = "rtf" Then Set objDoc = Application.Documents.Open(chemin & fichier) If ActiveDocument.InlineShapes.Count > 0 Then For Each ws In ActiveDocument.InlineShapes With ws Set attache = .OLEFormat.Object ' l'erreur se fait sur cette ligne. MsgBox attache.Name End With ' Set attache = ActiveDocument.InlineShapes(1).OLEFormat.Object Next
attache.SaveAs chemin & "toto.doc" End If objDoc.Close End If fichier = Dir Wend End Sub
Comme je le disais, il s'agit bien d'un objet incorporé dans une forme en ligne (inlineShape) en icône.
Vous devez disposer du serveur OLE gérant cet objet et lui passer la main. Ne pas oublier de référencer l'application dans VBE (votre objet est objet Outlook que je n'arrive pas à ouvrir dans ma version)
- Supposons pour simplifier l'objet comme document Word : Dim monObjet as Word.Document - Récupérons l'objet dans la 1ère InlineShape du document actif : Set monObjet = ActiveDocument.InlineShapes(1).OLEFormat.Object - Il devient facile de l'enregistrer : monObjet.SaveAs "C:MesObjetstoto.doc"
Il suffit ensuite d'automatiser ça sur les 1200 documents avec un petit coup de batchmacro (voir dans la FAQ) et le tour est joué.
Anacoluthe « C'est encore en méditant l'objet que le sujet a le plus de chance de s'approfondir. » - Gaston BACHELARD
Bonjour,
Merci pour le code, mais il ne fonctionne pas.
J'ai le message d'erreur suivant:
Run-time error 430
Class does not support Automation or does not support expected interface.
J'ai bien "Microsoft Word 11.0 Object library" et aussi "Microsoft Office 11.0
Object library" d'actif dans les références.
Est ce une librairie qui manquerait?
André
Voici le code que j'ai écris:
sub test()
Dim objDoc As Word.Document
Dim attache As Word.Document
chemin = "D:FichierWord"
fichier = Dir(chemin)
While fichier <> ""
If Right(fichier, 3) = "rtf" Then
Set objDoc = Application.Documents.Open(chemin & fichier)
If ActiveDocument.InlineShapes.Count > 0 Then
For Each ws In ActiveDocument.InlineShapes
With ws
Set attache = .OLEFormat.Object ' l'erreur se fait sur cette ligne.
MsgBox attache.Name
End With
' Set attache = ActiveDocument.InlineShapes(1).OLEFormat.Object
Next
attache.SaveAs chemin & "toto.doc"
End If
objDoc.Close
End If
fichier = Dir
Wend
End Sub
Comme je le disais, il s'agit bien d'un objet incorporé dans une forme en ligne
(inlineShape) en icône.
Vous devez disposer du serveur OLE gérant cet objet et lui passer la main.
Ne pas oublier de référencer l'application dans VBE
(votre objet est objet Outlook que je n'arrive pas à ouvrir dans ma version)
- Supposons pour simplifier l'objet comme document Word :
Dim monObjet as Word.Document
- Récupérons l'objet dans la 1ère InlineShape du document actif :
Set monObjet = ActiveDocument.InlineShapes(1).OLEFormat.Object
- Il devient facile de l'enregistrer :
monObjet.SaveAs "C:MesObjetstoto.doc"
Il suffit ensuite d'automatiser ça sur les 1200 documents avec un petit
coup de batchmacro (voir dans la FAQ) et le tour est joué.
Anacoluthe
« C'est encore en méditant l'objet
que le sujet a le plus de chance de s'approfondir. »
- Gaston BACHELARD
Merci pour le code, mais il ne fonctionne pas. J'ai le message d'erreur suivant: Run-time error 430 Class does not support Automation or does not support expected interface.
J'ai bien "Microsoft Word 11.0 Object library" et aussi "Microsoft Office 11.0 Object library" d'actif dans les références.
Est ce une librairie qui manquerait?
André
Voici le code que j'ai écris: sub test() Dim objDoc As Word.Document Dim attache As Word.Document chemin = "D:FichierWord"
fichier = Dir(chemin) While fichier <> "" If Right(fichier, 3) = "rtf" Then Set objDoc = Application.Documents.Open(chemin & fichier) If ActiveDocument.InlineShapes.Count > 0 Then For Each ws In ActiveDocument.InlineShapes With ws Set attache = .OLEFormat.Object ' l'erreur se fait sur cette ligne. MsgBox attache.Name End With ' Set attache = ActiveDocument.InlineShapes(1).OLEFormat.Object Next
attache.SaveAs chemin & "toto.doc" End If objDoc.Close End If fichier = Dir Wend End Sub
Comme je le disais, il s'agit bien d'un objet incorporé dans une forme en ligne (inlineShape) en icône.
Vous devez disposer du serveur OLE gérant cet objet et lui passer la main. Ne pas oublier de référencer l'application dans VBE (votre objet est objet Outlook que je n'arrive pas à ouvrir dans ma version)
- Supposons pour simplifier l'objet comme document Word : Dim monObjet as Word.Document - Récupérons l'objet dans la 1ère InlineShape du document actif : Set monObjet = ActiveDocument.InlineShapes(1).OLEFormat.Object - Il devient facile de l'enregistrer : monObjet.SaveAs "C:MesObjetstoto.doc"
Il suffit ensuite d'automatiser ça sur les 1200 documents avec un petit coup de batchmacro (voir dans la FAQ) et le tour est joué.
Anacoluthe « C'est encore en méditant l'objet que le sujet a le plus de chance de s'approfondir. » - Gaston BACHELARD
Dim attache As Word.Document For Each ws In ActiveDocument.InlineShapes With ws Set attache = .OLEFormat.Object ' l'erreur se fait sur cette ligne.
J'ai dit que je donnais un exemple de code pour un objet Word mais votre objet 'attache' N'EST PAS un objet Word !!!!!!
Attention : certains objets OLE doivent être activés pour que le serveur OLE (très probablement Outlook 2000 dans votre cas) puisse y accéder. Vous devez référencer le modèle objet de Outlook dans VBE.
Pour info (mais je n'est pas pu tester sur votre exemple) un objet Outlook.Attachment s'enregistre avec la méthode SaveAsFile et non SaveAs
Anacoluthe « C'est encore en méditant l'objet que le sujet a le plus de chance de s'approfondir. » - Gaston BACHELARD
Bonjour !
'Andre' nous a écrit ...
Dim attache As Word.Document
For Each ws In ActiveDocument.InlineShapes
With ws
Set attache = .OLEFormat.Object ' l'erreur se fait sur cette ligne.
J'ai dit que je donnais un exemple de code pour un objet Word
mais votre objet 'attache' N'EST PAS un objet Word !!!!!!
Attention : certains objets OLE doivent être activés pour que le serveur
OLE (très probablement Outlook 2000 dans votre cas) puisse y accéder.
Vous devez référencer le modèle objet de Outlook dans VBE.
Pour info (mais je n'est pas pu tester sur votre exemple) un objet
Outlook.Attachment s'enregistre avec la méthode SaveAsFile et non SaveAs
Anacoluthe
« C'est encore en méditant l'objet
que le sujet a le plus de chance de s'approfondir. »
- Gaston BACHELARD
Dim attache As Word.Document For Each ws In ActiveDocument.InlineShapes With ws Set attache = .OLEFormat.Object ' l'erreur se fait sur cette ligne.
J'ai dit que je donnais un exemple de code pour un objet Word mais votre objet 'attache' N'EST PAS un objet Word !!!!!!
Attention : certains objets OLE doivent être activés pour que le serveur OLE (très probablement Outlook 2000 dans votre cas) puisse y accéder. Vous devez référencer le modèle objet de Outlook dans VBE.
Pour info (mais je n'est pas pu tester sur votre exemple) un objet Outlook.Attachment s'enregistre avec la méthode SaveAsFile et non SaveAs
Anacoluthe « C'est encore en méditant l'objet que le sujet a le plus de chance de s'approfondir. » - Gaston BACHELARD