Erreur d'exécution "91"
Résolu
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
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
3 réponses
-
Bonjour,
Est-ce c'est la ligne d'instruction surligné après avoir choisi Débogage! -
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
-
Merci pour votre aide cela fonctionne
Très bonne journée
Olivia