Aplicabilidade: Word 365, 2019, 2016; Sistemas operativos Windows e MAC OS X.
Aquí tes unha pregunta dun lector::
Eu son profesor normalmente uso Word 2019 para escribir os meus documentos. Moitas veces teño que cambiar o tipo de letra e o tamaño dos parágrafos do meu documento. Hai algunha maneira de automatizar o meu traballo con Macros, para que poida modificar o meu parágrafo do documento cun só clic? Estou seguro de que isto vaime aforrar un par de horas á semana, que me encantaría investir noutras tarefas.
Grazas pola túa pregunta. A principal vantaxe das macros é que che permiten automatizar as túas tarefas nas aplicacións de Microsoft Office. As macros pódense gravar ou codificar manualmente mediante Visual Basic para aplicacións (VBA). Word envía un gravador de macros que che permite desenvolver scripts de automatización sen codificación. Se estás comezando coa automatización, esta pode ser unha solución suficientemente boa. Dito isto, cun pouco de coñecemento de VBA, podes escribir macros eficientes e potentes.
Activando a pestana de programador en Word
Se non ves a pestana Programador na cinta de Microsoft Word, terás que configurar o teu ambiente de desenvolvemento de macros.
- Abre un novo documento de Word. No caso de que queira traballar nun ficheiro existente, asegúrese de ter unha copia para a copia de seguridade, antes de facer calquera cambio.
- Agora, vai adiante e fai visible o menú do programador na cinta .
Gravación dunha macro Word: un exemplo práctico
- Agora, preme na pestana Desenvolvedor recén engadido .
- Vaia ao grupo de botóns Código .

- Prema o botón Gravar macro para invocar a función do gravador de macros.
![Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles]()
- Define un nome significativo para a túa macro. Nota: Como o nome que fornece usarase no código VBA creado automaticamente, asegúrate de que non hai espazos no nome da macro.
- Nota: aínda que é posible asignar macros aos botóns , para simplificar, executaremos Macro manualmente a través da pestana Ver ou das pestanas de Programador.
- Execute a secuencia de pasos que desexa gravar. Neste caso, gravarás os seguintes pasos:
- Seleccione un parágrafo específico no seu documento.
- Vaia á pestana Inicio .
- Establece o tipo de letra en Times New Roman.
- Establece o tamaño da fonte en 16.
- Centra o teu texto premendo Ctrl + E.
- Unha vez feito, volve á pestana Programador e prema Deter a gravación .
- Agora imos dar un ollo ao código VBA xerado automaticamente. Prema Macros e, a continuación, resalte a Macro de formato automático e prema Editar .
![Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles]()
Garda o teu traballo nun modelo habilitado para Word Macro
- Preme Ficheiro e despois Gardar como .
- No diálogo Gardar como da dereita, determina a túa localización de gardado e proporciona un nome significativo ao teu libro de traballo.
![Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles]()
- Escolla Documento habilitado para macros de Word como tipo de documento. Nota: o teu documento de Word gardarase co sufixo .docm.
- Preme o botón Gardar .
Executar a túa macro
- Abre o teu documento de Word.
- Seleccione o parágrafo que desexa formatar automaticamente. Só como exemplo, aquí está o parágrafo que escollín:
![Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles]()
- Vaia á pestana Ver .
- Preme o botón Macros .
- Seleccione a súa macro de formato automático
- Preme Executar : aplicarase a macro ao parágrafo seleccionado.
- Voi'la, bo resultado!
![Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles]()
Asignando a túa macro aos botóns ou atallos de teclado
Nota: Este é un paso opcional que se debe tentar despois de seguir o tutorial de gravación de macros anterior.
Está ben, ata agora temos funcionando os nosos conceptos básicos de macros. Agora toca mellorar un pouco a nosa usabilidade de Macro no documento Word. Permíteme mostrarche como podes asociar a túa Macro cun botón de acceso rápido, para que poidas iniciala máis facilmente.
- Fai clic co botón dereito na cinta e selecciona Personalizar a barra de ferramentas de acceso rápido.
- Aparecerá o diálogo Opcións de Word .
- No menú despregable Escolla comandos de, seleccione Macros.
- Resalte a súa macro e prema o botón Engadir>> para engadir un atallo á súa macro á barra de ferramentas de acceso rápido .
![Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles]()
- Preme o botón Modificar... para definir unha icona adecuada para a túa macro.
- Define un nome para mostrar para o teu botón.
- Preme Aceptar .
- Agora podes iniciar a túa macro desde a barra de ferramentas de acceso rápido, xusto enriba da cinta.
![Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles]()
Nota: Podes asociar a túa macro de Word non só con botóns de acceso rápido, senón tamén con botóns de comando incrustados no teu documento e atallos de teclado personalizados específicos.
Creación de macros de Word usando VBA
Con algunhas habilidades sinxelas de codificación de Visual Basic para aplicacións podemos editar as macros e escribir programas para automatizar varios tipos de traballos usando VBA.
Nota aparte: FYI: algunhas das aplicacións de Microsoft Office, como Powerpoint e Outlook, non teñen gravadoras de macros incorporadas . Polo tanto, escribir VBA é obrigatorio para escribir macros de Powerpoint e automatizar Outlook.
- Para editar unha macro, fai clic na pestana Programador e selecciona Macros na opción de código.
- Fai clic na macro e selecciona Editar .
- Abrirase o editor de Visual Basic para aplicacións.
- Supoñamos que queremos editar manualmente a Macro que gravamos no paso anterior, para que Word non só estableza o Tamaño, o tipo de letra e o aliñamento do parágrafo, senón tamén a cor.
- A configuración da cor dunha sección realízase mediante o seguinte comando VBA:
[código] Selection.Font.Color [/code]
- No noso caso, quereremos configuralo nun azul aleatorio, polo que engadiremos o seguinte fragmento á nosa macro Gravada:
[código] Selection.Font.Color = 16737792[/code]
- Así debería ser o teu código VBA:
![Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles]()
- No Editor de VBA prema Ficheiro e despois Gardar .
- Volve ao teu documento, executa a túa Macro nun parágrafo e observa o cambio de cor da fonte.
![Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles Macros de Word máis aló do gravador de macros: Tutorial de macros de Office 2016, 365/2019 e exemplos útiles]()
Exemplo de macro Word útil que podes escribir
Since publishing this tutorial, many readers asked for more in depth examples of Word Macros. This list covers the most prevalent tasks you can automate using Visual Basic in Word. Here we go:
Create and Save New Document
Sub CreateNewDoc()
'This small snippet first creates a new document, then it checks whether a document with the same name already exists before saving.
Dim myDoc As New Document
Dim filePath As String
'Modify your file path as needed
filePath = "C:\MyNewDoc.docx"
Set myDoc = Documents.Add
With myDoc
If Dir(filePath) = "" Then
.SaveAs2 (filePath)
Else
'You have already an existing document
MsgBox ("Please use a different file name")
End If
End With
myDoc.Close SaveChanges:=wdPromptToSaveChanges
End Sub
Note: When creating new documents, you are able to specify the template (.dotm/.dotx files) you would like to use. Templates are typically stored at: C:\Users\\AppData\Roaming\Microsoft\Templates
Documents.Add Template:=<your_template_folder>
Open a Word document with VBA
Sub OpenDoc()
'This code checks whether your document exists and then opens it
filePath = "C:\MyNewDoc.docx"
If Dir(filePath) = "" Then
MsgBox ("file doesn't exist")
Else
Documents.Open (filePath)
End If
End Sub
Closing one/all open documents
Sub CloseDoc()
'This code closes a specific document
filePath = "C:\MyNewDoc.docx"
Documents(filePath).Close SaveChanges:=wdPromptToSaveChanges
End Sub
Sub CloseAllDocs()
'This code closes all opened documents in your computer
Documents.Close SaveChanges:=wdPromptToSaveChanges
End Sub
Saving Word as PDF
Here’s how to easily automate saving of Word documents as PDF files.
Sub SaveAsPdf()
'This code saves a word document in a PDF format
FileName = Left(CStr(ActiveDocument.Name), Len(CStr(ActiveDocument.Name)) - 5)
ActiveDocument.SaveAs2 FileName:="c:\" + FileName + ".pdf", FileFormat:=wdFormatPDF
End Sub
Inserting header and footer
This code sets the header and footer of your Word document first page.
Sub InsertHeaderFooterFirstPage()
Dim myDoc As Document
Dim headerText As String
Dim footerText As String
Set myDoc = ActiveDocument
'Replace the header and footer text as needed
headerText = "This document was written by you"
footerText = "All rights reserved to you"
With myDoc.Sections(1)
'We first ensure that we can set different header and footer texts
.PageSetup.DifferentFirstPageHeaderFooter = True
'Setting the header and footer texts
.Headers(wdHeaderFooterFirstPage).Range.Text = headerText
.Footers(wdHeaderFooterFirstPage).Range.Text = footerText
End With
End Sub
Additional Word Macro ideas
Here are a few more ideas which we’ll be posting in the upcoming future.
- Find and Replace (Execute Method)
- Insert a paragraph (before and after a selection)
- Impresión de documentos mediante programación
- Traballar con táboas
Isto remata o noso tutorial de hoxe. Como acabas de ver, hai moito que facer coa gravadora de macros de Word e as macros VBA en Word. No caso de que busque axuda máis específica que vaia máis aló do alcance deste titorial, póñase en contacto connosco a través do noso formulario de contacto .