Bonjour,
J'ai fichier excel qui contient un objet pdf sur une feuille sous la forme d'une icône. J'aimerais ajouter à l'email que je génère, le fichier pdf.
Comment puis-je le faire?Code:oMsg.attachments.add MonObjetPdf
merci d'avance
seba_stien
Version imprimable
Bonjour,
J'ai fichier excel qui contient un objet pdf sur une feuille sous la forme d'une icône. J'aimerais ajouter à l'email que je génère, le fichier pdf.
Comment puis-je le faire?Code:oMsg.attachments.add MonObjetPdf
merci d'avance
seba_stien
Salut,
Je pense qu'il faut que tu utilise une cellule pour indiquer le chemin d'accès à ton fichier PDF.
Ensuite tu as juste à pointer sur la cellule où figure ton chemin d'accès
Je n'ai pas testé mais ça devrait fonctionner.Code:
1
2
3
4
5
6 dim cheminPJ as string cheminPj = feuilleExcel.Range("A1").value oMsg.attachments.add cheminPJ
A+
Mon problème c'est que le PDF se trouve exclusivement dans mon fichier excel en tant qu'objet.
Donc je n'ai pas de chemin...
Une autre idée me vient, serait-il possible de sauver une copie de mon objet dans un répertoire pour que je puisse ensuite l'attacher à mon email?
merci de votre aide
seba_stien
Salut,
C'est ce que j'allais te proposer... Je pense que c'est faisable mais je ne connais pas la méthode.
Dans un premier temps je pense que tu auras besoin de déclarer un objet PDF du genre
Ensuite regarde dans l'aide avec les méthodes :Code:
1
2
3
4 dim PJ as object set PJ = CreateObject("PDF.application") 'pas sur du tout
- Save,
- SaveAs,
- FileCopy
Bonne chance
J'ai réussi à faire ca:
le problème c'est que j'arrive à l'ouvrir mais il y a une erreur, donc impossible de mettre du code à la suite.Code:
1
2
3
4
5 'Je set ma variable avec mon objet pdf Set oPdf = shtTranslations.OLEObjects("NomObjetPDF") 'J'ouvre mon objet pdf oPdf.Verb
Erreur: Cannot start the source application for this object.
seba_stien
Il faudrait que tu essye de faire une copie de ton PDF sans avoir besoin de l'ouvrir.
Ou Il faudrait peut être que tu utilise une commande shell pour lancer acrobat.
Du genre :
NB : Je pense même que tu puisse donner le nom de ton PDF dans le shell pour l'ouverture du fichierCode:
1
2
3
4
5
6
7 'Déclaration objet Shell Dim objShell As Object Set objShell = CreateObject("WScript.Shell") 'lancement de acrobat Shell("C:\Program Files\Adobe\Acrobat 8.0\acrobat.exe")
NB2 : Tu peux peut être faire une copie de ton PDF sur le file system directement avec une commande shell, mais je ne connais quasiment rien en shell.
Merci pour votre aide, maintenant j'arrive à l'ouvrir mais malheureusement pas à le sauver.
Une idée pour sauver un fichier ouvert?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16'Déclaration objet Shell Dim objShell As Object Set objShell = CreateObject("WScript.Shell") 'lancement de acrobat Shell ("C:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe") 'set l'objet Pdf dans la variable Set objShell = Sheet1.OLEObjects("objPDF") 'Ouverture du document objShell.Verb 'Sauvegarde objSheel.SaveAs "C:\test.pdf" 'Fonctionne pas
merci encore
seba_stien