Exporte múltiples hojas a PDF simultáneamente sin usar ActiveSheet o Seleccionar
Se ha perforado en mi cabeza, para evitar errores y proporcionar una buena experiencia de usuario, es mejor evitar usar.Select
, .Activate
, ActiveSheet
,ActiveCell
etc.
Teniendo esto en cuenta, ¿hay alguna manera de usar el.ExportAsFixedFormat
método en un subconjunto deSheets
en un libro de trabajo sin emplear uno de los anteriores? Hasta ahora, las únicas formas en que he sido capaz de hacer esto son:
For Each
; sin embargo, esto da como resultado archivos PDF separados, lo que no es bueno.use el código similar al generado por la grabadora de macros, que usa.Select
yActiveSheet
:
Sheets(Array("Sheet1", "Chart1", "Sheet2", "Chart2")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"exported file.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, openafterpublish:= True
Quizás es imposible no usarActiveSheet
, pero al menos puedo usar.Select
¿de alguna manera?
He intentado esto:
Sheets(Array("Sheet1", "Chart1", "Sheet2","Chart2")).ExportAsFixedFormatType:= _
xlTypePDF, Filename:= "exported file.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, openafterpublish:= _
True
Esto produce:
error 438: el objeto no admite esta propiedad o método