|
|
Hola:
¿Tiene que ser el Word, no puede ser el Excel?, Te lo pregunto porque con el word es increiblemente complicado encontrar las posiciones de los caracteres, parrafos, etc... y con el excel es bastante mas facil encontrar la posicion ya que le mandas los datos a una celda
De todas maneras te mando el codigo de un pequeño ejemplo de como usar Word y Excel con Visual Basic, si me pasas tu direccion de correo te lo envio.
El proyecto se compone de un formulario con dos CommandButton y dos TextBox, para crear la instancia al word y al Excel puedes utilizar CreateObject("word.application") pero yo prefiero crearlos poniendolos en las referencias asi que en las referencias del proyecto deberas añadir el Microsoft Excel 8.0 Object Library (Excel8.olb) y el Microsoft Word 8.0 Object Library (Msword8.olb) los archivos suelen estar en el directorio del Office, el codigo del formulario seria el siguiente:
Option Explicit
Private Sub cmdExcel_Click()
'En este ejemplo se crea un nuevo libro y se guarda
'si lo que quieres es abrir una plantilla deberas utilizar Open en vez de Add
'y luego al guardar el libro ponerle un nombre distinto al de la plantilla
'Variables que utilizaremos
Dim AppExcel As New Excel.Application
Dim Libro As Excel.Workbook
Dim Hoja As Excel.Worksheet
'Si queremos que se vea el proceso en pantalla
AppExcel.Visible = True
'Creamos un nuevo libro
Set Libro = AppExcel.Workbooks.Add
'Establecemos la hoja que utilizaremos
Set Hoja = Libro.Worksheets(1)
'Le cambiamos el nombre
Hoja.Name = "Ejemplo desde VB"
'Ponemos en la Celda A1 el nombre del text1
Hoja.Cells(1, 1).FormulaR1C1 = Text1.Name
'Ponemos en la Celda A2 el nombre del text1
Hoja.Cells(2, 1).FormulaR1C1 = Text1.Name
'Ponemos el texto de cada control en sus celdas
Hoja.Cells(1, 2).FormulaR1C1 = Text1.Text
Hoja.Cells(2, 2).FormulaR1C1 = Text2.Text
'Guardamos el libro
Libro.SaveAs ("c:\pruebaVB.xls")
'Cerramos la aplicacion y liberamos los objetos
AppExcel.Quit
Set Hoja = Nothing
Set Libro = Nothing
Set AppExcel = Nothing
End Sub
Private Sub cmdWord_Click()
'Variables que utilizaremos
Dim AppWord As New Word.Application
Dim Documento As Word.Document
Dim Rango As Word.Range
Dim Parrafo As Paragraph
'Si queremos que se vea en la pantalla
AppWord.Visible = True
'Creamos un nuevo documento
Set Documento = AppWord.Documents.Add
'Ponemos un titulillo
Set Rango = Documento.Sections(1).Range
Rango.ParagraphFormat.Alignment = wdAlignParagraphCenter
Rango.Font.Size = 24
Rango.Font.Bold = True
Rango.Text = "Probando desde VB"
'Pones la siguiente linea
Set Parrafo = Documento.Paragraphs.Add
Set Rango = Parrafo.Range.Next
Rango.ParagraphFormat.Alignment = wdAlignParagraphLeft
Rango.Font.ColorIndex = wdRed
Rango.Font.Size = 16
Rango.Fields.Add Rango, Word.wdFieldComments, Text1.Text
Rango.InsertBefore ("El valor de Text1= ")
'Pones la siguiente linea
Set Parrafo = Documento.Paragraphs.Add
Set Rango = Parrafo.Range.Next
Rango.ParagraphFormat.Alignment = wdAlignParagraphLeft
Rango.Font.ColorIndex = wdRed
Rango.Font.Size = 16
Rango.Fields.Add Rango, Word.wdFieldComments, Text2.Text
Rango.InsertBefore ("El valor de Text2= ")
'Guardamos el documento
Documento.SaveAs "C:\prueba.doc"
'Cerramos la aplicacion
AppWord.Quit
'Descargamos los objetos
Set Documento = Nothing
Set Rango = Nothing
Set Parrafo = Nothing
Set AppWord = Nothing
End Sub
Espero que te sirva.
Saludos
|