Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: TrashAmbishion en 28 Mayo 2012, 18:49 pm



Título: Crear o utilizar un documento de WORD??
Publicado por: TrashAmbishion en 28 Mayo 2012, 18:49 pm
Hola amigos(as), veran necesito crear un documento de WORD con una tabla y una serie de valores, navegando encontre un buen codigo que me permite esto, pero necesito cambiar la orientacion del documento, centrar todo el contenido entre otras cosas a continuacion el codigo...

Tiene que agregar una referencia a Microsoft Word y en el General poner la siguiente declaración

Código
  1.  
  2. Imports Word = Microsoft.Office.Interop.Word
  3.  
  4.  

Código
  1.  
  2. Private Sub cmboton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdboton.Click
  3.  
  4. ' Create Word Application
  5. Dim oWord As Word.Application = CreateObject("Word.Application")
  6. ' Create new word document
  7. Dim oDoc As Word.Document = oWord.Documents.Add()
  8. oWord.Visible = False
  9.  
  10. 'Creando la tabla
  11. 'lst1.items.count+1[/i] es la cantidad de filas a crear y el parametro de al lado son las columnas.
  12.  
  13. Dim oTable As Word.Table = oDoc.Tables.Add(oDoc.Bookmarks.Item("\endofdoc").Range, lst1.Items.Count + 1, 6)
  14. oTable.Range.ParagraphFormat.SpaceAfter = 3
  15.  
  16. ''Creo las columnas
  17. oTable.Cell(1, 1).Range.Text = "Primera"
  18. oTable.Cell(1, 2).Range.Text = "Segunda"
  19. oTable.Cell(1, 3).Range.Text = "Tercera"
  20. oTable.Cell(1, 4).Range.Text = "Cuarta"
  21. oTable.Cell(1, 5).Range.Text = "Quinta"
  22. oTable.Cell(1, 6).Range.Text = "Sexta"
  23.  
  24. 'Esto es para que comienza a partir de la 2da fila.
  25. Dim cell As Integer = 2
  26.  
  27. For i As Integer = 0 To lst1.Items.Count - 1
  28. If InStr(lst1.Items(i), "Segunda").ToString <> 0 Then
  29. oTable.Cell(cell, 2).Range.Text = NameFile(lst1.Items(i).ToString)
  30. ElseIf InStr(lst1.Items(i), "Tercera") <> 0 Then
  31. oTable.Cell(cell, 3).Range.Text = NameFile(lst1.Items(i).ToString)
  32. ElseIf InStr(lst1.Items(i), "Cuarta") <> 0 Then
  33. oTable.Cell(cell, 4).Range.Text = lst1.Items(i).ToString
  34. ElseIf InStr(lst1.Items(i), "Quinta") <> 0 Then
  35. oTable.Cell(cell, 5).Range.Text = lst1.Items(i).ToString
  36. ElseIf InStr(lst1.Items(i), "Sexta") <> 0 Then
  37. oTable.Cell(cell, 6).Range.Text = lst1.Items(i).ToString
  38. End If
  39. oTable.Cell(cell, 1).Range.Text = "BlaBla"
  40. cell = cell + 1
  41. Next
  42.  
  43. 'make the first row bold and italic
  44. oTable.Rows.Item(1).Range.Font.Bold = True
  45. oTable.Rows.Item(1).Range.Font.Italic = True
  46.  
  47. 'Save this word document
  48. oDoc.SaveAs("D:\Prueba.doc", True)
  49. oDoc.Close()
  50. oWord.Application.Quit()
  51.  
  52.  

- Podria abrir una plantilla que ya tengo creada y modificar la tabla que ya trae ella?