Академический Документы
Профессиональный Документы
Культура Документы
1
Marcela Genero Bocco Noviembre del 2002
Parte 1:
Macros y Barras de Herramientas
2
Marcela Genero Bocco Noviembre del 2002
MACROS Grabacin de una macro (ejemplo) Supongamos que se desea insertar una direccin de correo normal de una compaa en una serie de documentos Word. En lugar de teclear siempre el texto, se decide crear una macro que inserte el texto automticamente cada vez que se pulse la combinacin de teclas ALT+A. 1) Abra el documento en el que desea grabar la macro, o cree uno Nuevo. Por defecto la macro se almacenar en la plantilla de documento Normal (Normal.dot), de forma que estar disponible en todos los documentos de Word. 2) Seleccione la opcin HERRAMIENTAS MACRO GRABAR NUEVA MACRO
3
Marcela Genero Bocco Noviembre del 2002
MACROS Grabacin de una macro (ejemplo) 4) Pulse teclado en el cuadro de dilogo Grabar macro (marco Asignar macro a) para visualizar el cuadro de dilogo Personalizar teclado. Aqu se especifica la abreviatura de teclado que ejecutar la macro. 5) Pulse ALT+A para signar la abreviatura de teclado ALT+A a la macro, y verifique que la lista desplegable Guardar cambios en tiene seleccionada la opcin Normal. La pantalla debera ser muy parecida a esta:
5
Marcela Genero Bocco Noviembre del 2002
MACROS Grabacin de una macro (ejemplo) Word muestra la barra de herramientas Detener grabacin, y cambia el cursor del ratn por un icono de grabacin. A partir de este momento, cualquier tecla que pulse u orden que ejecute en Word, quedar registrada por la grabadora de macros. 7) Introduzca la siguiente direccin en el documento activo de Word y pulse Enter: Escuela Superior de Informtica Universidad de Castilla-La Mancha Paseo de la Universidad, 4 13071 (Ciudad Real) 926 295300
6
Marcela Genero Bocco Noviembre del 2002
MACROS Grabacin de una macro (ejemplo) 8) Pulse Detener grabacin para terminar la macro Ejecucin de una macro
Para proporcionar flexibilidad al automatizar el trabajo, Word ofrece cinco mtodos para ejecutar macros. Se puede: l Pulsar dos veces sobre el nombre de la macro en el cuadro dedilogo Macros. l Pulsar una abreviatura de teclado (si ha sido asignada) l Pulsar sobre la macro sobr un men (si se ha aadido el nombre de la macro a un men). l Pulsar un botn personalizado de macro en una barra de herramientas (si se ha asignado la macro a un botnde bara de herramientas). l Iniciar el Editor de Visual Basic y ejecutar la macro desde l.
7
Marcela Genero Bocco Noviembre del 2002
MACROS Ejecucin de una macro con el cuadro de dilogo Macro 1) Seleccione el comando HERRAMIENTAS MACRO MACROS
8
Marcela Genero Bocco Noviembre del 2002
MACROS Ejecucin de una macro con el cuadro de dilogo Macro 1) Seleccione el comando HERRAMIENTAS MACRO MACROS 2) Pulse dos veces sobre el nombre de macro InsertarDireccin. De esta forma la direccin de la compaa se insertar en el documento actual. Ejecucin de una macro con una abreviatua de teclado 1) Pulse ALT+A para ejecutar la macro InsertarDireccin De esta forma la direccin de la compaa se insertar en el documento actual.
9
Marcela Genero Bocco Noviembre del 2002
MACROS Edicin de una macro con Visual Basic 1) Seleccione el comando HERRAMIENTAS MACRO MACROS 2) Haga clic en la macro InsertarDireccin, en el cuadro de dilogo Macros 3) Pulse Modificar y aparecer el Editor de Visual Basic
10
Marcela Genero Bocco Noviembre del 2002
11
Marcela Genero Bocco Noviembre del 2002
CREACIN DE BARRAS DE HERRAMIENTAS PERSONALIZADAS 1) Seleccione el comando VER BARRA DE HERRAMIENTAS PERSONALIZAR y luego la etiqueta Barra de Herramientas
13
Marcela Genero Bocco Noviembre del 2002
CREACIN DE BARRAS DE HERRAMIENTAS PERSONALIZADAS 1) Seleccione Nueva para crear una nueva barra de herramientas 2) Teclee Mis Macros en el cuadro de texto Nombre de la barra de herramientas
3) Pulse Aceptar y Word mostrar la nueva barra de herramientas sobre el documento activo
Marcela Genero Bocco Noviembre del 2002
14
AADIR BOTONES DE MACRO A LA BARRA DE HERRAMIENTAS 1) Seleccione la etiqueta Personalizar en el cuadro de dialogo Personalizar 2) Pulse Macros en la lista de Categoras 3) Arrastre una copia de la macro InsertarDireccin desde la lista de Comandos a la barra de herramientas Mis Macros. Cuando suelte la macro aparecer en la barra de herramientas con su nombre de mdulo comlpeto Project.NewMacros.InsertarDireccin. Ahora crearemos un icono personalizado. 15
Marcela Genero Bocco Noviembre del 2002
16
Marcela Genero Bocco Noviembre del 2002
AADIR BOTONES DE MACRO A LA BARRA DE HERRAMIENTAS 4) Pulse Modificar seleccin en la pestaa Comandos, y despus Estilo predeterminado. Word cambia el botn de macro de la barra de herramientas por un icono 5) Seleccione otra vez Modificar seleccin, y pulse Cambiar imagen del botn. Word mostrar una seleccin de botones para barras de herramientas que se pueden utilizar para dar a las macros una representacin grfica. 6) Pulse el botn que contiene el cuadrado vaco.
17
Marcela Genero Bocco Noviembre del 2002
18
Marcela Genero Bocco Noviembre del 2002
AADIR BOTONES DE MACRO A LA BARRA DE HERRAMIENTAS Word cambia el botn de macro por un cuadrado vaco. Ahora editar la imagen de mapa de bits del botn para crear el dibujo que usted desee. 7) Pulse Modificar seleccin y despus Modificar imagen del botn. Word mostrar el editor de botones:
19
Marcela Genero Bocco Noviembre del 2002
AADIR BOTONES DE MACRO A LA BARRA DE HERRAMIENTAS 8) Cree el diseo del botn que desee, cuando haya terminado pulse Aceptar para cerrar el editor de botones. Word mostrar el botn final de la macro InsertarDireccin. Creacin de un men personalizado 1) Seleccione HERRAMIENTAS PERSONALIZAR, y luego la pestaa Comandos 2) Desplace la lista Categoras hasta el final, y pulse el elemento Nuevo men 3) Arrastre el elemento Nuevo men hasta el lugar de la barra de mens donde desee.
Marcela Genero Bocco Noviembre del 2002
20
10
21
Marcela Genero Bocco Noviembre del 2002
Creacin de un men personalizado 4) Pulse el nuevo men con el botn derecho, y cambie el campo Nombre por el de Macros y pulse Enter. Aadir rdenes de macro al men Macros 1) Pulse Macros en la lista de Categoras 2) Arrastre una copia de la macro InsertarDireccin desde la lista Comandos al men macros
22
Marcela Genero Bocco Noviembre del 2002
11
23
Marcela Genero Bocco Noviembre del 2002
Aadir rdenes de macro al men Macros 3) Para cambiarle el nombre a la opcin del men, seleccione el botn Modificar seleccin en la pestaa Comandos, cambie el campo Nombre por &Direccin, y pulse Enter. El smbolo & que precede al nombre de la orden, subrayar la letra D convirtindola en una tecla de acceso.
24
Marcela Genero Bocco Noviembre del 2002
12
Parte 2:
Objeto Application
25
Marcela Genero Bocco Noviembre del 2002
13
14
15
32
Marcela Genero Bocco Noviembre del 2002
16
Parte 3:
Objeto Document
33
Marcela Genero Bocco Noviembre del 2002
34
Marcela Genero Bocco Noviembre del 2002
17
Abrir un doumento
Para abrir un documento, use el mtodo Open de la coleccin Documents. Este mtodo tiene una docena de argumentos que puede emplear para refinar las operaciones de apertura, pero slo uno es obligatorio. Esta es la sintaxis simplificada: Documents.Open(NombreArchivo)
35
Marcela Genero Bocco Noviembre del 2002
Abrir un documento
Por ejemplo, para abrir un dcoumento llamado Carta.doc en la unidad y carpeta actuales, use la siguiente sentencia: Documents.Open Carta.doc
18
El Objeto RecentFiles
Otra manera de abrir documentos de Word es usar el objeto RecentFiles, que es la coleccin de archivos usados recientemente que se muestra al final del men Archivo de Word. Cada elemento es un objeto RecentFile. Se puede especificar un objeto RecentFile mediante RecentFiles(Indice), donde Indice es el nmero entero que especifica el archivo con que se quiere trabajar. El ms reciente ser el 1, el siguiente el 2 y as sucesivamente. El valor mximo (modificable) lo da la propiedad RecentFiles.Maximum.
37
Marcela Genero Bocco Noviembre del 2002
El Objeto RecentFiles
Veamos algunas propiedades de este objeto que se deben considerar: ArchivoReciente .Name : devuelve el nombre del archivo reciente especificado. ArchivoReciente .Path: devuelve la ruta del archivo reciente escpecificado. With RecentFiles(1) Documents.Open .Path & \ & .Name End With
19
20
41
Marcela Genero Bocco Noviembre del 2002
42
Marcela Genero Bocco Noviembre del 2002
21
22
46
Marcela Genero Bocco Noviembre del 2002
23
24
25
52
Marcela Genero Bocco Noviembre del 2002
26
Parte 4:
Objeto Range
54
Marcela Genero Bocco Noviembre del 2002
27
El objeto Range
Word no tiene objetos separados para sus unidades de texto ms fundamentales, el carxter y la palabra.Word considera estos elementos partes de una clase genrica, la clase Range. Este objeto se define como una seccin de texto contiguo, por lo que puede ser un simple carcter o el documento completo. Hay dos tcnicas bsicas para emplear un objeto Range: el mtodo Range del objeto Document y la propiedad Range.
El mtodo Range
El objeto Document tiene un mtodo Range que le permite especificar el punto de partida y final de un rango. sta es su sintaxis: Documento.Range(comienzo, final) Documento: es el objeto Document con que se quiere trabajar. comienzo: la posicin del carter de inicio. El primer carcter en un documento est en la posicin 0. Final: la posicin del carcter final.
55
Marcela Genero Bocco Noviembre del 2002
El mtodo Range
Por ejemplo, las siguientes sentencias usan la variable del objeto myRange para almacenar los primeros 100 caracteres del documento activo: Dim myRange As Range myRange = ActiveDocument.Range(0,99)
La propiedad Range
Muchos objetos Word tienen una propiedad Range que emplea un objeto de tipo Range, incluso objetos Paragraph y seelection. Esto es importante porque tales objetos carecen de ciertas propiedades y mtodos que son tiles para manipular texto. Por ejemplo, el objeto paragraph no tiene una propiedad Font, pero el objeto Range s, por lo que puede cambiar la fuente del prrafodesde su programa refirindose a su propiedad range: ActiveDocument.Paragraphs(1).Range.Font.Italic = True Esta sentencia da formato al primer prafo del documento activo con letra cursiva.
56
Marcela Genero Bocco Noviembre del 2002
28
58
Marcela Genero Bocco Noviembre del 2002
29
60
Marcela Genero Bocco Noviembre del 2002
30
Parte 5:
Objeto Selection
62
Marcela Genero Bocco Noviembre del 2002
31
El objeto Selection
Este objeto siempre hace referencia a una de dos cosas: El texto seleccionado La posicin del cursor Ya que mucho de lo que se hace en Word implica uno de estos elementos (dar formato al texto, insertar texto en la posicin del cursor, etc.), el objeto Selection es uno de los ms importantes de Word. Para referirse al texto seleccionado o al cursor se puede usar la propiedad Selection sin un cualificador de objeto. Por ejemplo, la siguiente sentencia cambia a negrita el texto seleccionado: Selection.Range.Bold = True Para especificar un objeto Selection, use el mtodo Select, que est disponible en una serie de objetos Word, incluidos Document, range, Bookmark y table. Como ejemplo la siguiente sentencia selecciona el primer prrafo del documento activo. ActiveDocument.Paragraphs(1).Range.Select
63
Marcela Genero Bocco Noviembre del 2002
64
Marcela Genero Bocco Noviembre del 2002
32
66
Marcela Genero Bocco Noviembre del 2002
33
67
Marcela Genero Bocco Noviembre del 2002
68
Marcela Genero Bocco Noviembre del 2002
34
69
Marcela Genero Bocco Noviembre del 2002
35
71
Marcela Genero Bocco Noviembre del 2002
72
Marcela Genero Bocco Noviembre del 2002
36
Parte 6:
Objeto Characters, Words y Sentences
73
Marcela Genero Bocco Noviembre del 2002
El objeto Characters
Wl objeto Characters es una coleccin que representa todos los cartacteres en el objeto especificado. Por ejemplo, ActiveDocumen.Paragraphs(1).Range.Characters es la coleccin de todos los caracteres del objeto Range (el primer prrafo del documento activo). Otros objetos que tienen la propiedad Characters son ocument y Selection. Como Characters es una coleccin, para referirse a cada carcter individual hay que incluir el ndice numrico. La siguiente sentenciaestablece el tamao del primer carcter en 20 puntos. ActiveDocument.Characters(1).Font.Size = 20 Para contar el nmero de caracteres en un objeto especfico, use la propiedad Count: totalChars = Documents(Chap06.doc).Characters.Range.Count Ejemplo: una funcin que cuenta el nmero de coincidiencias de un carcte especfico en un objeto.
74
Marcela Genero Bocco Noviembre del 2002
37
El objeto Characters
Function CountCharacters(countObject As Object, letter As String) As long Dim i As long, char As Range i=0 For each char In countObect.Characters If char = letter Then i = i + 1 Next char CountCharacters = i End Function Sub TestCountCharacters() MsgBox CountCharacters(ActiveDocument, e) End Sub
75
Marcela Genero Bocco Noviembre del 2002
El objeto Words
El objeto Words es una coleccin que representa todas las palabras de un objeto especificado. Por ejemplo, ActiveDocument.Words es la coleccin de todas las palabras del docuemento activo. Los objetos Paragraph, Range y Selection tienen tambin la propiedad Words.. Para referirse a las palabras individuales se usa el ndice nmerico con la coleccin Words. Sin embargo, no devuelve un objeto Word, pues tal cosa no existe en el universo VBA. En vez de ello, cada palabra se clasifica como un objeto Range. La siguiente sentencia da formato negrita a la primera palabra del documento activo: ActiveDocument.Words(1).Font.Bold = True Para contar el nmero de palabras del objeto especificado, use la propiedad Count. TotalWords = Documents(Article.doc).Words.Count Vea, sin embargo, que el objeto Words incluye los signos de puntuacin y las marcas de prrafo dentro del objeto. Si quiere saber el nmero real de palabras de un objeto, use la siguiente funcin:
76
Marcela Genero Bocco Noviembre del 2002
38
El objeto Words
Function CountWords(countObject As Object) As Long Dim i As Long, word As Range i=0 For each word in counObject.Words Select Case Asc(Left (word,1)) Case 48 To 90, 97 To 122 letra o nmero i = i +1 End Select Next word CountWords = i End Function Sub TestCountWords() With ActiveDoucument MsgBoxTotal de palabras & CountWords(.Range) End With End Sub
77
Marcela Genero Bocco Noviembre del 2002
El objeto Sentences
Es una coleccin de todas las oraciones de un objeto especificado, ya sea Document, Range o Selection. Cada miembro de esta coleccin se referencia mediante un ndice numrico y el objeto resultante es de tipo Range. Por ejemplo la siguiente sentencia almacena la primera oracin del documento activo en la variable firstSentence:FirstSentence = ActiveDocument.Sentences(1) En el siguiente fragmento de procedimiento, la propiedad Count se usa para determinar la ltima oracin de un documento: With Documents(Remarks.doc) totalSentences = .Sentences.Count LastSentence = .Sentences(.totalSentences) End With
78
Marcela Genero Bocco Noviembre del 2002
39
Parte 7:
Objeto Paragrapgh
79
Marcela Genero Bocco Noviembre del 2002
El objeto Paragraph
Un objeto Paragraph es miembro de la coleccin Paragraphs, que representa a todos los prrafos de un objeto Document, Range o Selection especificado. Al igual que con los dems objetos de texto, hay que usar un ndice numrico para especificar un prrafo individual.
40
82
Marcela Genero Bocco Noviembre del 2002
41
83
Marcela Genero Bocco Noviembre del 2002
84
Marcela Genero Bocco Noviembre del 2002
42
Parte 8:
Objeto Table
85
Marcela Genero Bocco Noviembre del 2002
El objeto Table
Una tabla en Word se representa por el objeto Table. Dado que un documento puede contener mltiples tablas es obvio que debe existir una coleccin Tables que las contiene. De hecho cualquier objeto rango es en sun texto que puede contener tablas, de forma que en Range tenemos tambin una coleccin Tables. Cada tabla est compuesta de celdas represenradas por la propiedad Cells(fila, columna). Cada cellda contiene a su vez texto, representado por la propiedad Range de la celda. Por ejemplo, para asignar un contenido a la celda situada en la fila 1 columna 2 de una tabla referenciada por la variable Tabla escribimos: Tabla.Cells(1, 2).Range.Text = Contenido
43
Ejemplo: Poner como ttulo de cada columna, ENERO, FEBRERO, MARZO ABRIL, MAYO, poner los ttulos en negrita, tamao 12 y con alineacin centrada.
87
Marcela Genero Bocco Noviembre del 2002
44
90
Marcela Genero Bocco Noviembre del 2002
45
Sub Crear_Tabla Dim Tabla As Table, texto As Range Dim Rng As Range, seguir As String * 1 --- crear la tabla Set texto = ActiveDocument.Range Set Rng = texto.Paragraphs.Last.Range Set Tabla = texto.Tables.Add(Rng, 1, 2) Tabla.AutoFormat Format:=wdTableFormatClassic3 Tabla.Cell(1,1).Range.Text = Nombre Tabla.Cell(1, 2).Range.text = Telfono ---- Aadir filas y datos a la tabla Do Aadir_Datos_Tabla Tabla seguir = UCase(InputBox(Seguir S/N )) Loop Until seguir = N End Sub
91
Marcela Genero Bocco Noviembre del 2002
Sub Aadir_Datos_Tabla(Tabla As Table) Dim nm As String, tel As String nm = InputBox(Nombre: ) Tel = InputBox(Telfono: ) Tabla.Rows.Add Tabla.Cell(Tabla.Rows.Count, 1).Range = nm Tabla.Cell(Tabla.Rows.Count, 1).Range = Tel End Sub Observe en el segundo procedimiento que Add aade la fila al final de la tabla, y que para acceder a ella usamos la propiedad Count de la coleccin Rows que nos devuelve el nmero de elementos de la coleccin, que en este caso ser el nmero de filas de la tabla.
92
Marcela Genero Bocco Noviembre del 2002
46
Parte 9:
Ejemplos
93
Marcela Genero Bocco Noviembre del 2002
Ejemplo 1:
Implementar una aplicacin que permita crear una tabla, y numere las filas.
El siguiente procedimiento ejecuta el cuadro de dilogo para la aplicacin. Sub Inicio_Aplicacion() Aplicacion.Show El Cuadro de dilogo se llama Aplicacin End Sub Este cdigo deber aparecer en el mdulo ThisDocument, del proyecto en el cual est trabajando.
94
Marcela Genero Bocco Noviembre del 2002
47
95
Marcela Genero Bocco Noviembre del 2002
Ejemplo 1:
El botn insertar tabla debe preguntar en otro cuadro de dilogo el nmero de filas y columnas de cada tabla. Al hacer clic sobre el botn Insertar Tabla aparecer el siguiente cuadro de dilogo:
Private Sub CommandButton1_Click() Click sobre Insertar Tabla InsertarTabla.Show End Sub
96
Marcela Genero Bocco Noviembre del 2002
48
Ejemplo 1:
Al hacer clic sobre el botn Aceptar del cuadro de dilogo Insertar Tabla se ejecutar el siguiente cdigo, que inserta la tabla y vuelve al cuadro de dilogo principal: Private Sub CommandButton3_Click() ActiveDocument.Tables.Add Range :=Selection.Range, NumRows:=TextBox1, NumColumns:=TextBox2 End Sub Al hacer sobre el botn Cancelar, no inserta la tabla y vuelve al cuadro de dilogo principal. Private Sub CommandButton4_Click() Unload InsertarTabla End Sub
97
Marcela Genero Bocco Noviembre del 2002
Ejemplo 1:
Ahora veamos el botn Numerar lneas del cuadro de dilogo principal. A continuacin mostramos el cdigo que se ejecutar al hacer click sobre este botn: Private Sub CommandButton2_Click() TotalFilas = ActiveDocument.Tables(1).Rows.Count For Fila = 2 To TotalFilas ActiveDocument.Tables(1).Cell(Fila, 1).Range.Text = Fila Next End Sub Ahora veamos el botn Sali del cuadro de dilogo principal. A continuacin mostramos el cdigo que se ejecutar al hacer click sobre este botn: Private Sub CommandButton3_Click() ActiveDocument.Save graba el trabajo realizado Unload Aplicacin termina la aplicacin End Sub
98
Marcela Genero Bocco Noviembre del 2002
49
99
Marcela Genero Bocco Noviembre del 2002
50
101
Marcela Genero Bocco Noviembre del 2002
51
Ejemplo 5:
Crear una barra de herramientas : IMPRESION que tenga tres botones (la barra de herramientas deber estar presente siempre): 1) N_PGINAS :deber ejecutar un procedimiento que permita poner el nmero a las pginas, abajo a la derecha. 2) MARGENES: deber definir los mrgenes, SUPERIOR = 5 cm, INFERIOR = 3 cm, IZQUIERDO = 2, DERECHO = 2 3) IMPRESIN: deber mostrar un Cuadro de dilogo que tendr el siguiente aspecto:
103
Marcela Genero Bocco Noviembre del 2002
Ejemplo 5:
1) Crear una barra de herramientas Impresin: HERRAMIENTAS PERSONALIZAR BARRA DE HERRAMIENTAS NUEVA 2) Escribir todos los procedimientos que deber asignar luego a los tres botones de la bara de herramientas. 3) Aadir un botn a la barra de herramientas: HERRAMIENTAS PERSONALIZAR COMANDOS MACROS, y arrastrar la macro que desee a la barra de herramientas que acaba de crear. Para cambiar el aspecto del botn elija MODIFICAR SELECCIN, y luego NOMBRE para cambiarle el nombre y CAMBIAR IMAGEN DEL BOTON, si quiere cambiarle el diseo del botn que aparece en la barra de herramientas. Procedimiento para poner nmero a las pginas (botn N_PAGINAS): Sub NPagina() Selection.Sections(1).Footers(1).PageNumbers.Add PageNumberAlignment:= wdAlignPageNumberRight, FirstPage:=True End Sub
104
Marcela Genero Bocco Noviembre del 2002
52
Ejemplo 5:
Procedimiento para definir los mrgenes(botn MARGENES):
Sub MargenesCM() With ActiveDocument.PageSetup .TopMargin = CentimetersToPoints(5) .BottomMargin = CentimetersToPoints(3) .LeftMargin = CentimetersToPoints(2) .RightMargin = CentimetersToPoints(2) End With End Sub
105
Marcela Genero Bocco Noviembre del 2002
Ejemplo 5:
Cuadro de dilogo Imprimir (botn Impresin)
El procedimiento asociado al botn IMPRESIN tendr el siguiente cdigo: Sub MenuImpresion() Imprimir.Show End Sub
106
Marcela Genero Bocco Noviembre del 2002
53
Ejemplo 5:
El botn ACEPTAR del cuadro de dilogo IMPRIMIR tendr asociado el siguiente cdigo: Private Sub Aceptar_Click() If Todas Then QueImprimir = wdPrintAllPages If Pares Then QueImprimir = wdPrintEvenPagesOnly If Impares Then QueImprimir = wdPrintOddPagesOnly NroCopias = Copias Application.PrintOut FileName:="", Copies:=NroCopias, PageType:=QueImprimir Unload Imprimir End Sub El botn CANCELAR tendr el siguiente cdigo asociado: Private Sub Cancelar_Click() Unload Imprimir End Sub
107
Marcela Genero Bocco Noviembre del 2002
Ejemplo 5:
108
Marcela Genero Bocco Noviembre del 2002
54