je suis en train de faire un script qui parcoure une liste de fichier excel, il les ouvre, défini une zone d'impression, les exporte en PDF puis les ferme.
Mon problème est le suivant :lorsque j'ouvre un fichier en lecture seule ou que je souhaite le fermer sans enregistrer, la boite de dialogue suivante " Voulez-vous enregistrer les modifications .... " s'affiche automatiquement. Cette boite de dialogue empêche l'éxcécution de la fin du code. Est il possible de s'affranchir de cette boite de dialogue ?
je vous remercie de l'attention portée a mon problème.
Code : Tout sélectionner
 Func _xls2pdf($Destination,$Repertoire,$Non,$source,$Ecraser)
	;	Argument 1 chemain generale de destination
	;	Argument 2 dosier de destination
	;	Argument 3 non du fichier
	; 	Argument 4 fichier a convertir
	;	Argument 5 comportement ci le pdf existe deja 1 ecrase 0 passe
	Local Const $PaperA4 = 9, $Portrait = 1
	Local Const $PrintZonne = "$A$1:$Q$54"
	Local const $pdf = ".pdf"
	If not FileExists($Destination & $Repertoire) Then
		If Not DirCreate ( $Destination & $Repertoire) Then Return ("Impossible de crer le repertoire" & $Repertoire )
	EndIf
	If FileExists($Destination & $Repertoire & "\" & $Non & ".pdf") Then
		If $Ecraser Then
			if FileDelete($Destination & $Repertoire & "\" & $Non & ".pdf") then
			Else
				Return ("Impossible de suprimer le fichier" & $Destination & $Repertoire & "\" & $Non & ".pdf")
			EndIf
		Else
			Return ("Le fichier " & $Destination & $Repertoire & "\" & $Non & ".pdf existe deja")
		EndIf
	EndIf
	Local $oAppl=_Excel_Open(True);False rans le claseur visible
	If @error Then Return("L'objet excel necessaire a la convertion en pdf n'as pas pu etre crée!")
	Local $oWorkbook2 = _Excel_BookOpen($oAppl, $source, True) ; True ouvre le classeur en lecture seul problème lore de la fermeture propose d'enregistrer
	If @error Then Return ("Impossible d'ouvrir le fichier; " & $source)
	Local $aSheets = _Excel_SheetList($oWorkbook2)
	If @error then Return ("Erreur lors de l'énumération des feuilles")
	For $i = 0 To UBound($aSheets) - 1
		 If $aSheets[$i][1].Visible <> $xlSheetVisible Then ContinueLoop
		 $oAppl.PrintCommunication = False
		 $aSheets[$i][1].PageSetup.PaperSize = $PaperA4
		 $aSheets[$i][1].PageSetup.Orientation = $Portrait
		 $aSheets[$i][1].PageSetup.FitToPagesWide = 1
		 $aSheets[$i][1].PageSetup.FitToPagesTall = 1
		 $aSheets[$i][1].PageSetup.PrintArea = $PrintZonne
		 If @error Then Return ("Erreur de configuration de la mise en page" & @CRLF & "@error = " & @error & ", @extended = " & @extended & @CRLF)
	Next
	_Excel_Export($oAppl, $oWorkbook2, $Destination  & $Repertoire & "\" & $Non & $pdf, Default, Default, False, Default, Default,  False)
	_Excel_BookClose ($oWorkbook2,False)
	_Excel_Close($oAppl)
	If @error Then Return("Erreur de sauvegarde pdf: " & $Non & ".pdf" & @CRLF & "@error = " & @error & ", @extended = " & @extended & @CRLF)
	Return True
EndFunc


