saveas activeworkbook excel-vba excel-2010 vba excel

excel vba - activeworkbook - Cómo usar workbook.saveas con sobrescritura automática



activeworkbook.saveas overwrite (2)

Para no ver la solicitud establecida xls.DisplayAlerts = False

ConflictResolution no es una propiedad verdadera o falsa, debe ser xlLocalSessionChanges . Sin xlLocalSessionChanges , tenga en cuenta que esto no tiene nada que ver con mostrar el mensaje Overwrite.

Set xls = CreateObject("Excel.Application") xls.DisplayAlerts = False Set wb = xls.Workbooks.Add fullFilePath = importFolderPath & "/" & "A.xlsx" wb.SaveAs fullFilePath, AccessMode:=xlExclusive,ConflictResolution:=Excel.XlSaveConflictResolution.xlLocalSessionChanges wb.Close (True)

En esta sección del código, Excel SIEMPRE indica: "El archivo ya existe, ¿desea sobrescribir?"

Application.DisplayAlerts = False Set xls = CreateObject("Excel.Application") Set wb = xls.Workbooks.Add fullFilePath = importFolderPath & "/" & "A.xlsx" wb.SaveAs fullFilePath, AccessMode:=xlExclusive, ConflictResolution:=True wb.Close(True)

¿Por qué db.SaveAs siempre me db.SaveAs que sobrescriba el archivo existente si tengo DisplayAlerts = False ?

¡Gracias por adelantado!


Recomiendo que antes de ejecutar SaveAs, elimine el archivo que existe.

Si Dir ("f: ull / path / with / filename.xls") <> "" Then Kill "f: ull / path / with / filename.xls" End If

Es más fácil que activar y desactivar DisplayAlerts, y si DisplayAlerts permanece desactivado debido a un bloqueo del código, puede causar problemas si trabaja con Excel en la misma sesión.