Red de conocimiento informático - Material del sitio web - Cómo abrir la ventana de programación VBA en Word

Cómo abrir la ventana de programación VBA en Word

1. Programación

1. Inicie Word, haga clic en "Herramientas", "Macro", "Grabar nueva macro..." continuamente, complete el nombre de la macro en el cuadro de diálogo emergente (en este ejemplo, "Papel de composición") y seleccione la ubicación donde desea guardar la macro (puede guardarla en una plantilla, también se puede guardar en el documento actual), como se muestra en la Figura 1.

2. Para mayor comodidad, esta macro se puede asignar como un botón en la barra de herramientas. Haga clic en el botón "Barra de herramientas" en el cuadro de diálogo "Grabar macro". En el lado derecho del cuadro de diálogo emergente "Personalizar", seleccione el comando de macro "Normal.NewMacros.Composition Paper" y arrástrelo con el mouse para copiar. Vaya a " Barra de herramientas de uso común, haga clic derecho sobre ella, seleccione el comando correspondiente para modificar el nombre y edite un pequeño icono. El resultado se muestra en la Figura 2.

3. Haga clic en el botón "Cerrar" en el cuadro de diálogo "Grabar macro", aparecerá una barra de herramientas "Grabar macro" en la pantalla, haga clic en el botón Detener para detener la grabación.

4. Seleccione "Herramientas", "Macro", "Macro ..." a su vez, seleccione el nombre de la macro "Papel de composición" en el cuadro de diálogo, haga clic en el botón "Editar" para abrir la ventana de programación VBA. Ingrese el siguiente código:

Sub composición del documento ()

UserForm1.CommandButton1.Enabled = True

UserForm1.Show

End Sub

5. Inserte un formulario UserForm1, inserte 4 etiquetas, 4 cuadros de texto y un botón en él. Establezca sus propiedades relacionadas respectivamente. Entre ellos, el valor de la propiedad "texto" del cuadro de texto "número requerido de filas" se establece en 25, el valor de la propiedad "texto" del cuadro de texto "número requerido de columnas" se establece en 20. y el cuadro de texto "interlineado" El valor del atributo "texto" del cuadro se establece en 0,5, y el valor del atributo "texto" del cuadro de texto "Altura de la primera y última línea en blanco" se establece en 0,4, como se muestra en la Figura 3.

6. Haga doble clic en el botón de comando CommandButton1 e ingrese el siguiente código:

Private Sub CommandButton1_Click()

Dim n As Integer 'Definir una variable como un tipo entero

n = 1

ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=Val(TextBox1.Text) * 2 1, NumColumns_

:=Val(TextBox2. Text), DefaultTableBehavior :=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed

Selection.EndKey Unit:=wdRow, Extend:=True

Selection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNone

Selection.Tables(1).Rows.HeightRule = wdRowHeightExactly

'Establece la altura de la fila de la tabla en un valor fijo

Selection.Tables(1). Rows.Height = CentimetersToPoints (Val(TextBox3.Text))

'Establece la altura de la fila de la tabla al valor establecido como interlineado

Selection.Tables(1).Rows( 1).Height = CentimetersToPoints( Val(TextBox4.Text))

'Establece la altura de la primera fila al valor establecido

Hacer mientras n lt;

Selection.EndKey Unit:=wdLine

Selection.MoveRight Unit:=wdCharacter, Count:=2

'Mover el punto de inserción a la siguiente línea

Selection.Tables(1).Rows(2 * n).Height = Selection.Tables(1).Columns(1).PreferredWidth

'Establecer alto de fila igual al ancho de columna.

Unidad Selección.EndKey:=wdRow, Extend:=True

Unidad Selección.EndKey:=wdLine

Unidad Selección.MoveRight:=wdCharacter, Recuento: =2

'Mover el punto de inserción a la siguiente línea

Selection.EndKey Unit:=wdRow, Extend:=True

Selection.Cells.Borders( wdBorderVertical).LineStyle = wdLineStyleNone

'Elimina el borde interior de esta fila, dejando solo el borde

n = n 1

Bucle

Selección.Tablas(1).Filas( Val(TextBox1.Text) * 2 1).Heig

ht = CentimetersToPoints(Val(TextBox4.Text))

'Establece la altura de la última fila al valor establecido

Selection.EndKey Unit:=wdRow, Extend:=True

Selection.Cells.Borders(wdBorderVertical).LineStyle = wdLineStyleNone

Selection.Tables(1).Rows.Alignment = wdAlignRowCenter

'Tabla centrada

Con Selection.Tables(1)

.Borders(wdBorderLeft).LineWidth = wdLineWidth150pt

.Borders(wdBorderRight).LineWidth = wdLineWidth150pt

.Borders (wdBorderTop ).LineWidth = wdLineWidth150pt

.Borders(wdBorderBottom).LineWidth = wdLineWidth150pt

'Establecer el borde de la tabla en una línea gruesa

Finalizar con

Selection.EndKey Unit:=wdLine

Descargarme 

End Sub