Signaler

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

Posez votre question Help - Dernière réponse le 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 
Utile
+0
moins plus
Bonjour,
Est-ce c'est la ligne d'instruction surligné après avoir choisi Débogage!
Ajouter un commentaire
Utile
+0
moins plus
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

Ajouter un commentaire
Utile
+0
moins plus
Merci pour votre aide cela fonctionne

Très bonne journée

Olivia
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !