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.