Convertir macros de WordBasic a Visual Basic

Word 2003 y Word 2007 convierten automáticamente las macros en una plantilla de Word 6.x o Word 95 la primera vez que realice alguna de las siguientes acciones:

  • Abrir la plantilla.

  • Crear un documento basado en la plantilla.

  • Adjuntar manualmente la plantilla a un documento.

Durante la conversión de las macros, se mostrará un mensaje en la barra de estado. Una vez finalizada la conversión, debe guardar la plantilla para guardar las macros convertidas. Si no guarda la plantilla, Word volverá a convertir las macros la próxima vez que la utilice.

Nota Word no puede convertir macros de Word 2.x directamente. En su lugar, deberá abrir y guardar las plantillas de Word 2.x en Word 6.x o Word 95 y, a continuación, abrirlas en Word.

El proceso de conversión convierte cada macro en un módulo de Visual Basic. Si desea ver las macros convertidas, presione Alt+F8. Los nombres de las macros del cuadro de diálogo Macros aparecen con el formato nombremacro.Main, donde Main hace referencia a la subrutina principal de la macro convertida, es decir, la subrutina que en versiones anteriores de Word empezaba por Sub MAIN. Si desea modificar la macro convertida, seleccione el nombre y haga clic en Edit para ver el módulo de Visual Basic en el Editor de Visual Basic. Las instrucciones de WordBasic se modifican para que funcionen con Visual Basic para Aplicaciones. Las macros de WordBasic convertidas son equivalentes, desde el punto de vista funcional, a las macros de Visual Basic para Aplicaciones nuevas que pueda escribir o grabar, pero no son idénticas. En el siguiente ejemplo se muestra una macro de WordBasic en una plantilla de Word 95.

Sub MAIN 
FormatFont .Name = "Arial", .Points = 10 
Insert "Hello World" 
End Sub

Al abrir la plantilla en Word, la macro se convierte en el siguiente código.

Public Sub Main() 
WordBasic.FormatFont Font:="Arial", Points:=10 
WordBasic.Insert "Hello World" 
End Sub

Cada instrucción de la macro convertida empieza por la propiedad WordBasic. WordBasic es una propiedad del modelo de objetos de Word que devuelve un objeto con todas las instrucciones y funciones de WordBasic; este objeto hace que sea posible ejecutar macros de WordBasic en Word.

Nota Si guarda la plantilla en la plantilla original, las macros de WordBasic se perderán permanentemente y las versiones anteriores de Word no podrán usar las macros convertidas.

La siguiente macro de Visual Basic es igual, desde el punto de vista funcional, a la macro de WordBasic anterior, pero no utiliza la propiedad WordBasic.

Public Sub Main() 
 With Selection.Font 
 .Name = "Arial" 
 .Size = 10 
 End With 
 Selection.TypeText Text:="Hello World" 
End Sub

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.