Guardar datos en Excel desde Visual Studio 2015

Cerrado
rivasserrano
Message postés
1
Date d'inscription
martes, 21 de febrero de 2017
Estatus
Miembro
Última intervención
martes, 21 de febrero de 2017
- Modificado por Carlos-vialfa el 23 feb 2017 a las 02:29
Estimados buenas tardes,

Necesito guardar desde visual studio en excel, la rutina que tengo actualmente realiza el trabajo bien, pero no es el resultado requerido, es decir, necesito que la información cada vez que se presiona el botón guardar realice la incorporación de la información en la hoja de excel, de manera consecutiva. La rutina que tengo sólo hace que se guarde la información en la misma celda siempre y no la vaya distribuyendo en las demás celdas. Aquí les coloco mi rutina para guardar en excel.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object

'Iniciar un nuevo libro en Excel
oExcel = CreateObject("Excel.Application")
oBook = oExcel.Workbooks.add '("C:\Users\eriva\Desktop\Ductos.xls") 'Libro donde se exportarán los datos del Proyecto

'Agregar datos a las celdas a la hoja "Sheet1" del libro "Ductos1"
oSheet = oBook.WorkSheets(1)

oSheet.Range("A9").Value = "DUCTOS SUMINISTRO"

'Esta celda contendrá el nombre del Proyecto
oSheet.Range("C5:E5").Merge(True)
oSheet.Range("A5:B5").Merge(True)
oSheet.Range("A5").Value = "Nombre del Proyecto:"

'Esta celda contendrá el nombre del Proyectista
oSheet.Range("C6:E6").Merge(True)
oSheet.Range("A6:B6").Merge(True)
oSheet.Range("A6").Value = "Nombre del Proyectista:"

'Esta celda contendrá el nombre de la Empresa
oSheet.Range("C7:E7").Merge(True)
oSheet.Range("A7:B7").Merge(True)
oSheet.Range("A7").Value = "Nombre de la Empresa:"

'Estas celdas por defecto solo serán para identificar cada columna
oSheet.Range("A10").WrapText = True
oSheet.Range("B10").WrapText = True
oSheet.Range("C10").WrapText = True
oSheet.Range("D10").WrapText = True
oSheet.Range("E10").WrapText = True
oSheet.Range("F10").WrapText = True
oSheet.Range("G10").WrapText = True
oSheet.Range("H10").WrapText = True
oSheet.Range("I10").WrapText = True
oSheet.Range("J10").WrapText = True
oSheet.Range("K10").WrapText = True
oSheet.Range("L10").WrapText = True
oSheet.Range("M10").WrapText = True
oSheet.Range("N10").WrapText = True

oSheet.Range("A10").VerticalAlignment = Constants.xlCenter
oSheet.Range("B10").VerticalAlignment = Constants.xlCenter
oSheet.Range("C10").VerticalAlignment = Constants.xlCenter
oSheet.Range("D10").VerticalAlignment = Constants.xlCenter
oSheet.Range("E10").VerticalAlignment = Constants.xlCenter
oSheet.Range("F10").VerticalAlignment = Constants.xlCenter
oSheet.Range("G10").VerticalAlignment = Constants.xlCenter
oSheet.Range("H10").VerticalAlignment = Constants.xlCenter
oSheet.Range("I10").VerticalAlignment = Constants.xlCenter
oSheet.Range("J10").VerticalAlignment = Constants.xlCenter
oSheet.Range("K10").VerticalAlignment = Constants.xlCenter
oSheet.Range("L10").VerticalAlignment = Constants.xlCenter
oSheet.Range("M10").VerticalAlignment = Constants.xlCenter
oSheet.Range("N10").VerticalAlignment = Constants.xlCenter

oSheet.Range("A10").HorizontalAlignment = Constants.xlCenter
oSheet.Range("B10").HorizontalAlignment = Constants.xlCenter
oSheet.Range("C10").HorizontalAlignment = Constants.xlCenter
oSheet.Range("D10").HorizontalAlignment = Constants.xlCenter
oSheet.Range("E10").HorizontalAlignment = Constants.xlCenter
oSheet.Range("F10").HorizontalAlignment = Constants.xlCenter
oSheet.Range("G10").HorizontalAlignment = Constants.xlCenter
oSheet.Range("H10").HorizontalAlignment = Constants.xlCenter
oSheet.Range("I10").HorizontalAlignment = Constants.xlCenter
oSheet.Range("J10").HorizontalAlignment = Constants.xlCenter
oSheet.Range("K10").HorizontalAlignment = Constants.xlCenter
oSheet.Range("L10").HorizontalAlignment = Constants.xlCenter
oSheet.Range("M10").HorizontalAlignment = Constants.xlCenter
oSheet.Range("N10").HorizontalAlignment = Constants.xlCenter

oSheet.Range("A10").ColumnWidth = 15
oSheet.Range("B10").ColumnWidth = 15
oSheet.Range("C10").ColumnWidth = 15
oSheet.Range("D10").ColumnWidth = 15
oSheet.Range("E10").ColumnWidth = 15
oSheet.Range("F10").ColumnWidth = 15
oSheet.Range("G10").ColumnWidth = 15
oSheet.Range("H10").ColumnWidth = 15
oSheet.Range("I10").ColumnWidth = 15
oSheet.Range("J10").ColumnWidth = 15
oSheet.Range("K10").ColumnWidth = 15
oSheet.Range("L10").ColumnWidth = 15
oSheet.Range("M10").ColumnWidth = 15
oSheet.Range("N10").ColumnWidth = 15

oSheet.Range("A10").Value = "tramo"
oSheet.Range("B10").Value = "Caudal de Diseño PCM"
oSheet.Range("C10").Value = "Velocidad de Diseño pie/min"
oSheet.Range("D10").Value = "Factor de Fricción"
oSheet.Range("E10").Value = "Diámetro Equivalente in"
oSheet.Range("F10").Value = "Alto del Ducto in"
oSheet.Range("G10").Value = "Ancho del Ducto in"
oSheet.Range("H10").Value = "Longitud del Ducto mts"
oSheet.Range("I10").Value = "Longitud del Ducto Equivalente ft"
oSheet.Range("J10").Value = "Espesor"
oSheet.Range("K10").Value = "Calibre"
oSheet.Range("L10").Value = "Kg Ductos"
oSheet.Range("M10").Value = "M2 Aislante"
oSheet.Range("N10").Value = "Delpa P in.c.a."

oSheet.Range("A10").End(XlDirection.xlDown).Offset(1, 0) = Tramo
oSheet.Range("B10").End(XlDirection.xlDown).Offset(1, 0) = Qdiseño
oSheet.Range("C10").End(XlDirection.xlDown).Offset(1, 0) = Velocidad2
oSheet.Range("D10").End(XlDirection.xlDown).Offset(1, 0) = FactorFriccion
oSheet.Range("E10").End(XlDirection.xlDown).Offset(1, 0) = Diameduct
oSheet.Range("F10").End(XlDirection.xlDown).Offset(1, 0) = Larcduct
oSheet.Range("G10").End(XlDirection.xlDown).Offset(1, 0) = Anchduct
oSheet.Range("H10").End(XlDirection.xlDown).Offset(1, 0) = Longducto
oSheet.Range("I10").End(XlDirection.xlDown).Offset(1, 0) = (Longducto * 3.28084)
oSheet.Range("J10").End(XlDirection.xlDown).Offset(1, 0) = espesor
oSheet.Range("K10").End(XlDirection.xlDown).Offset(1, 0) = calibre
oSheet.Range("L10").End(XlDirection.xlDown).Offset(1, 0) = (Anchduct + Larcduct) * espesor * Longducto * 11.64
oSheet.Range("M10").End(XlDirection.xlDown).Offset(1, 0) = (Anchduct + Larcduct + 4) * Longducto * 0.1016
oSheet.Range("N10").End(XlDirection.xlDown).Offset(1, 0) = ((Longducto * 3.28084 * FactorFriccion) / 100) * 1.05

' hacemos visible el documento

oExcel.Visible = True

oExcel.UserControl = True

'Guardaremos el documento en el escritorio con el nombre prueba

oBook.SaveAs(Environ("UserProfile") & "\desktop\Ductos1.xls")
End Sub

Cómo explique anteriormente necesito que la información se vaya agregando una debajo de la otra cada vez que se presione el botón guardar.

De antemano muchas gracias.