Menu

Erreur d'exécution "91" [Résolu/Fermé]

Help - 11 sept. 2010 à 11:59 - Dernière réponse :  olivia
- 14 sept. 2010 à 08:33
Bonjour,

J'ai écrit le code suivant et vba me fait ressortir cette erreur sur word 2007 :
"Erreur d'exécution 91. Variable objet ou varibale de bloc with non définie.


Private Sub CommandButton1_Click()

Dim MyFile As String, tmpFolder As String
Dim Fso As Object

Set Fso = CreateObject("Scripting.FileSystemObject")
tmpFolder = Fso.GetSpecialFolder(2)

MyFile = ActiveDocument.Name
intPos = InStrRev(MyFile, ".")
If intPos > 0 Then
MyFile = Left(MyFile, intPos - 1)
End If
MyFile = tmpFolder & "\" & MyFile & ".pdf"

ActiveDocument.ExportAsFixedFormat OutputFileName:=MyFile, _
ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False

Dim myApp As Object
Dim myItem As Object

Set myApp = CreateObject("Outlook.Application")
Set myItem = myApp.CreateItem(olMailItem)
myItem.Subject = "subject"
myItem.Body = "Body text" & vbLf & "corps"
myItem.Attachments.Add MyFile
myItem.To = "test@test.com"
myItem.Display


Set Fso = Nothing

Fso.DeleteFile , MyFile:=True

End Sub

Je pense que l'erreur vient de la fin du code "Fso.DeleteFile , MyFile:=True"


Pouvez vous m'aider?
Merci

Une débutante en VBA
Afficher la suite 

3 réponses

Le Pingou 9291 Messages postés mercredi 11 août 2004Date d'inscriptionContributeurStatut 23 novembre 2016 Dernière intervention - 11 sept. 2010 à 18:24
0
Utile
Bonjour,
Est-ce c'est la ligne d'instruction surligné après avoir choisi Débogage!
Le Pingou 9291 Messages postés mercredi 11 août 2004Date d'inscriptionContributeurStatut 23 novembre 2016 Dernière intervention - 11 sept. 2010 à 21:27
0
Utile
Bonjour,
En principe vous devez exécuter l'opération [DeleteFile] avant d'avoir libérer la variable objet [Fso].
Les deux lignes comme suit :
Fso.DeleteFile MyFile
Set Fso = Nothing

0
Utile
Merci pour votre aide cela fonctionne

Très bonne journée

Olivia