Note: The other languages of the website are Google-translated. Back to English

¿Cómo usar el botón de comando para guardar la hoja de trabajo activa como archivo PDF en Excel?

Mientras trabaja en Microsoft Excel, puede enfrentar el problema de guardar la hoja de trabajo activa como archivo PDF. En este artículo, puede aprender cómo guardar la hoja de trabajo activa como archivo PDF con código VBA a través de un botón de comando. Y si también desea guardar un rango o cada hoja de trabajo en el libro activo como un archivo PDF individual, este artículo también puede ayudarlo.

Use el botón de comando para guardar la hoja de trabajo activa como archivo PDF con código VBA
Guarde fácilmente cada hoja de trabajo activa o como un archivo PDF individual con Kutools para Excel


Use el botón de comando para guardar la hoja de trabajo activa como archivo PDF con código VBA

Puede ejecutar el siguiente código VBA para guardar una hoja de trabajo activa como archivo PDF haciendo clic en un botón de comando. Haz lo siguiente.

1. En primer lugar, debe crear una carpeta llamada PDF para guardar su nuevo archivo PDF convertido. Aquí creo esta carpeta en mi disco local (C :).

2. Inserte un botón de comando haciendo clic en Developer > recuadro > Botón de comando (control ActiveX). Ver captura de pantalla:

2. Luego dibuje un Botón de Comando en la hoja de trabajo que necesita para agregar nuevas filas, haga clic derecho en el Botón de Comando y haga clic en Propiedades desde el menú contextual.

3. En el Propiedades cuadro de diálogo, ingrese el texto mostrado del botón de comando en el Subtítulo caja debajo del En la Categoría pestaña y luego cierre el cuadro de diálogo.

Puede ver que el texto mostrado del botón de comando cambia como se muestra a continuación.

4. Haga clic con el botón derecho en el Botón de comando nuevamente y luego haga clic en Ver código desde el menú contextual.

5. En la apertura Microsoft Visual Basic para aplicaciones ventana, reemplace el código original en la ventana Código con el siguiente código VBA.

Código VBA: botón de comando para guardar la hoja de trabajo activa como PDF

Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="C:\PDF\Export.pdf", _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True
End Sub

Nota:: En el código, CommandButton1 es el nombre del botón de comando que usará para guardar la hoja activa como archivo PDF. "C: \ PDF \ Export.pdf" es la ruta y el nombre del archivo PDF guardado.

6. presione el otro + Q teclas simultáneamente para cerrar el Microsoft Visual Basic para aplicaciones ventana. Entonces apaga el Modo de diseño bajo el Developer .

Ahora, haga clic en el Botón de comando, la hoja de trabajo activa se guardará como un archivo PDF llamado Exportar y se ubicará en la ubicación especificada.


Guarde cada hoja de trabajo como un archivo PDF individual de un libro activo con Kutools para Excel

Aquí recomiendo el Libro de trabajo dividido utilidad de Kutools for Excel para guardar fácilmente la hoja de trabajo activa como un archivo PDF. Además, también puede guardar cada hoja de trabajo en el libro de trabajo actual como un archivo PDF individual con esta utilidad.

Antes de aplicar Kutools for Excel, Por favor descargarlo e instalarlo en primer lugar.

1. En el libro de trabajo, debe guardar cada hoja de trabajo como un archivo PDF individual y luego hacer clic en Kutools Más > Libro de trabajo > Libro de trabajo dividido. Ver captura de pantalla:

2. En el Libro de trabajo dividido cuadro de diálogo, configure de la siguiente manera:

2.1) Solo verifique el nombre de la hoja activa en el Nombre de la hoja de trabajo caja;
2.2) Seleccionar PDF (* .pdf) Opción de la Guardar como tipo la lista desplegable;
2.3) Haga clic en Mini Split botón, luego un Seleccionar carpeta aparece un cuadro de diálogo, especifique una carpeta para guardar el archivo PDF;

Luego, la hoja de trabajo seleccionada se guarda como archivo PDF inmediatamente.

Notas:

1. Puede marcar varios nombres de hojas de trabajo en el cuadro Nombre de la hoja de trabajo para guardarlos como archivos PDF individuales a la vez;
2. A excepción de guardar la hoja de trabajo como archivos pdf, puede guardar las hojas de trabajo como txt. o csv. archivo como lo necesite.

  Si desea tener una prueba gratuita (30-día) de esta utilidad, haga clic para descargarloy luego vaya a aplicar la operación según los pasos anteriores.


Demostración: guarde la selección o cada hoja de trabajo como PDF con Kutools para Excel


Artículos relacionados:


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (33)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
Hola, ¿cómo se le permitiría al usuario ingresar el nombre del archivo en lugar de "Exportar.pdf"? gracias, ian
Este comentario fue minimizado por el moderador en el sitio
Sub Guardar como PDF ()
Aplicación.Actualización de pantalla = Falso
ActiveSheet.ExportAsFixedFormat Tipo:=xlTypePDF, _
Nombre de archivo:=Aplicación.InputBox("Ingrese el nombre del archivo")

strExcelPath = "H:\Mis documentos"

Application.ScreenUpdating = True
End Sub
Este comentario fue minimizado por el moderador en el sitio
Tengo una solicitud similar. Quiero que el archivo tenga el mismo nombre que una celda en particular en la pestaña, IE: G19 (Este es el número de factura y quiero que el archivo se guarde como PDF con ese nombre). . Me las arreglé para que export.pdf funcione, pero esto no va a funcionar en varios guardados. ¿Alguna idea, gracias?
Este comentario fue minimizado por el moderador en el sitio
Buenos días,
El siguiente código de VBA puede ayudarlo a resolver el problema. Seleccione la celda G19 en el cuadro de diálogo emergente de Kutoos para Excel después de ejecutar el código. Gracias por tu comentario.

Private Sub CommandButton1_Click ()
Dim xRg como rango
Dim xName como cadena
On Error Resume Next
Application.ScreenUpdating = False
Establezca xRg = Application.InputBox ("Seleccione la celda que nombrará el PDF con el valor de la celda:", "Kutools for Excel", Selection.Address, , , , , 8)
Si xRg no es nada, salga de Sub
xNombre = xRg(1).Valor
ActiveSheet.ExportAsFixedFormat Tipo:=xlTypePDF, _
Nombre de archivo:="C:\PDF\" & xName & ".pdf", _
OpenAfterPublish: = Falso
Application.ScreenUpdating = True
End Sub
Este comentario fue minimizado por el moderador en el sitio
Cambié la ruta a la unidad D, pero no se está guardando en la unidad D. ¿Qué hacer?
Este comentario fue minimizado por el moderador en el sitio
Hola Akshay MN,
Si ha modificado la ruta anterior a la unidad D, asegúrese de que haya una carpeta llamada PDF en su unidad D.
Si solo desea guardar el archivo en la unidad D sin crear una subcarpeta, utilice esta ruta de carpeta: "C:\" & xNombre & ".pdf"
Este comentario fue minimizado por el moderador en el sitio
Puedo convertir mis archivos a PDF ahora con un botón de comando, pero también puedo obtener esa misma función para permitir un nombre diferente para cada archivo; basado en una estructura numérica existente?
Este comentario fue minimizado por el moderador en el sitio
Hola Randy,
Lo siento, no puedo ayudar con esto, bienvenido a publicar cualquier pregunta en nuestro foro: https://www.extendoffice.com/forum.html para obtener más soporte de Excel de nuestro profesional.
Este comentario fue minimizado por el moderador en el sitio
MUESTRA Error de tiempo de ejecución '1004'
Este comentario fue minimizado por el moderador en el sitio
Hola Nzee,
Necesito saber su versión de Excel. Gracias por tu comentario.
Este comentario fue minimizado por el moderador en el sitio
por favor pegue la codificación para guardar como botón pdf en microsoft excel
Este comentario fue minimizado por el moderador en el sitio
¿Cómo hago esto para MS Word? Tengo un montón de preguntas con opciones de botones de radio como respuestas. Entonces, quiero crear un botón de comando para generar las preguntas con las respuestas seleccionadas solo en otro documento de Word. ¿Cómo hago esto? ¡Un código realmente ayudaría! Te enviaré el documento por correo electrónico si lo necesitas. ¡Gracias!
Este comentario fue minimizado por el moderador en el sitio
Buenos días,
Lo siento, no puedo ayudarte con eso todavía.
Este comentario fue minimizado por el moderador en el sitio
Sub ZapiszPDF()
Dim sNazwaPliku como cadena

sNazwaPliku = HojaActiva.Nombre

Aplicación.Diálogos(xlDialogSaveAs).Mostrar sNazwaPliku, 57

End Sub
Este comentario fue minimizado por el moderador en el sitio
He seguido el código, esto es lo que tengo:

Private Sub CommandButton2_Click ()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Tipo:=xlTypePDF, _
Nombre de archivo:=Rango("P2"), _
AbrirDespuésPublicar:=Verdadero
Application.ScreenUpdating = True
End Sub

necesito que el archivo se guarde en la ubicación donde se encuentra el archivo original. también necesita una copia del archivo de Excel para guardar también con el mismo nombre.
Este comentario fue minimizado por el moderador en el sitio
Hola Matt Bentley,
El código funciona perfectamente. Gracias por compartir.
Este comentario fue minimizado por el moderador en el sitio
hallo,

kann jemand mir helfen?

Ich nutze diese Zeilen und möchte jedoch, das aus dem Blatt ein Zellenwert als Dateiname gespeichert wird:

Private Sub CommandButton1_Click ()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Tipo:=xlTypePDF, _
Nombre de archivo:="C:\PDF\Exportar.pdf", _
OpenAfterPublish: = Falso
Application.ScreenUpdating = True
End Sub

Danke
Este comentario fue minimizado por el moderador en el sitio
hallo,

ich nutze diese Zeilen und möchte das eine Zelle als Dateiname verwenden wird!
Kann mir jemand ein Tipp geben?


Private Sub CommandButton1_Click ()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Tipo:=xlTypePDF, _
Nombre de archivo:="c:/" & G3 & ".pdf", _
OpenAfterPublish: = Falso
Application.ScreenUpdating = True
End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola Sasha,
El siguiente código puede ayudar. Antes de aplicar el código, cambie 'C:\Usuarios\Win10x64Test\Documentos\PDF' en la cuarta línea de su propia ruta de carpeta de destino.
Private Sub CommandButton1_Click()
'Updated by Extendoffice 20220929
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="C:\Users\Win10x64Test\Documents\PDF\" & Range("G3").Value, _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True
End Sub
Este comentario fue minimizado por el moderador en el sitio
Что это за кнопка - "другой" + Q клавиши одновременно" ?
Este comentario fue minimizado por el moderador en el sitio
Hola Диана,
Es la tecla "Alt" de su teclado. Microsoft Excel permite a los usuarios presionar las teclas "Alt" + "Q" para cerrar la ventana de Microsoft Visual Basic para aplicaciones y volver a la hoja de trabajo.
Este comentario fue minimizado por el moderador en el sitio
Goededag

is het mogelijk om een ​​filmpje of een voorbeeld excelblad te maken voor de Command-Knop Om Een ​​Actief Werkblad Op Te Slaan Als PDF-Bestand Met VBA-Code.
kom er niet helemaal uit met de codes.
Gracias de antemano
Este comentario fue minimizado por el moderador en el sitio
Hola Max,
Lo siento, no entiendo lo que quieres decir. Es posible que deba adjuntar una captura de pantalla de lo que está tratando de hacer. Lo siento por los inconvenientes ocasionados.
Este comentario fue minimizado por el moderador en el sitio
Hola equipo,

Solo me preguntaba si alguien podría ayudar a cambiar el destino del archivo creado al escritorio de cualquier usuario. Mi empresa no permite el acceso a C: por lo que el script no funciona.

MUCHAS MUCHAS MUCHAS gracias!
Este comentario fue minimizado por el moderador en el sitio
Hola Ben Stoddart,
Solo necesita abrir cualquier carpeta en su escritorio y copiar la ruta de la carpeta en el cuadro de dirección, luego reemplace la ruta de la carpeta en el código VBA con la ruta que copió.
Aquí está la nueva línea de nombre de archivo (reemplace el nombre de usuario con su propio nombre de usuario), Exportar.pdf es el nombre y la extensión de archivo del archivo PDF:
Nombre de archivo:="C:\Usuarios\Nombre de usuario\Escritorio\PDF\Exportar.pdf", _
Este comentario fue minimizado por el moderador en el sitio
Cada vez que ejecuto esto, guarda un PDF en mi disco local donde se guardaron las hojas de Excel, ¿cómo evito que esto se guarde automáticamente?

Private Sub CommandButton1_Click ()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Tipo:=xlTypePDF, _
AbrirDespuésPublicar:=Verdadero
Application.ScreenUpdating = True
End Sub
Este comentario fue minimizado por el moderador en el sitio
Cuando ejecuto lo siguiente, crea una versión local del PDF automáticamente. ¿Cómo evito que se guarde automáticamente?

Private Sub CommandButton1_Click ()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Tipo:=xlTypePDF, _
AbrirDespuésPublicar:=Verdadero
Application.ScreenUpdating = True
End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola James,
¿Desea que aparezca una ventana emergente para seleccionar una carpeta para guardar el archivo PDF manualmente?
Este comentario fue minimizado por el moderador en el sitio
Hola Crystal, idealmente sí, así puedo elegir dónde guardar el PDF.
Este comentario fue minimizado por el moderador en el sitio
H James,

El siguiente código de VBA puede ayudarlo a resolver el problema.
Nota:: No puede manejar el destino y el nombre del archivo al mismo tiempo. Después de agregar el siguiente código VBA, cuando haga clic en el botón, aparecerá un cuadro de diálogo para que seleccione una carpeta de destino. Después de seleccionar una carpeta de destino, aparecerá un cuadro para que le dé un nombre al archivo PDF.

Private Sub CommandButton1_Click()
'Updated by Extendoffice 20221223
    Dim xDlg As FileDialog
    Dim xFolder As Variant
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    Dim xStrName As String
    If xDlg.Show <> -1 Then Exit Sub
    
    xFolder = xDlg.SelectedItems(1)
    
    xStart = InputBox("file name", "KuTools for Excel", ActiveSheet.Name & ".pdf")

    Application.ScreenUpdating = False

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=xFolder & "\" & xStart, _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True

End Sub
Este comentario fue minimizado por el moderador en el sitio
Ich nutze diese Zeilen und das funktioniert auch gut, mein Problem ist nur, sollte diese Datei bereits vorhanden sein, wird diese einfach überschrieben!
Wie kann ich das vermeiden, es sollte eine Meldung kommen, Datei existiert bereits und es soll beendet werden?
Este comentario fue minimizado por el moderador en el sitio
Ich nutze diese Zeilen und das funktioniert auch gut, mein Problem ist nur, sollte diese Datei bereits vorhanden sein, WIRD diese einfach überschrieben!
Wie kann ich das vermeiden, es sollte eine Meldung kommen, Datei existiert bereits und es soll beendet werden?


Private Sub CommandButton1_Click ()
Application.ScreenUpdating = False
ActiveSheet.ExportAsFixedFormat Tipo:=xlTypePDF, _
Nombre de archivo:="X:\firmen\Buchhaltung\Rechnungs-Kopie_Ackermann Service GmbH\2022\RK-Abrechnung\" & ActiveSheet.Range("G1") & ".pdf", _
AbrirDespuésPublicar:=Verdadero
Application.ScreenUpdating = True
End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola Sasha,
El siguiente código de VBA puede ayudar. Por favor inténtalo.

Private Sub CommandButton1_Click()
'Updated by Extendoffice 20221230
    Dim xPDFName As String
    Dim xPDFPath As String
    Dim xObjFS As Object
    Dim xNum As Integer
    Dim xStr As String
    
    xPDFName = "Export" 'The file name
    xPDFPath = "D:\work\Jan\test\" 'The file path
    Application.ScreenUpdating = True
    On Error Resume Next
    Set xObjFS = CreateObject("Scripting.FileSystemObject")
    xStr = xPDFPath & xPDFName & ".pdf"
    xNum = 1
    If xObjFS.FileExists(xStr) Then
    xResponse = MsgBox("The file already exists, do you want to overwrite it?", vbYesNo, "www.extendoffice.com", "", 0)
       If xResponse <> vbYes Then
       Exit Sub
      End If
    End If
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            FileName:=xStr, _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True
End Sub
No hay comentarios publicados aquí todavía
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL