Sei sulla pagina 1di 7

Usuarios activos: 98

Foros de programacin, recursos, tutoriales, sistemas operativos...


Bienvenido a la zona de foros. Participa en alguno de nuestros foros: Foros de v
isual basic, foros de visual basic.net foros de Crystal reports, programas grati
s, foros de C++ - C# , foros de Java, foros de PHP, foros de ASP.net. Seguro que
hay un foro que te servir de gran utilidad y si no lo encuentras avsanos y creare
mos uno nuevo.
Registrarse
Ayuda
Recordarme?
Temas de hoy
Ayuda
Calendario
Comunidad
Acciones del foro
Enlaces
Bsqueda avanzada
Inicio
Foro
Canal Visual Basic
Visual Basic 6.0
Ayuda VB: Como Exportar un Formulario a una Hoja d
Resultados 1 al 6 de 6
Tema: Ayuda VB: Como Exportar un Formulario a una Hoja d
LinkBack
Herramientas
Buscar tema
Visualizar
20/06/2007, 01:26 #1
Avatar de El_Pobre
El_Pobre
El_Pobre est desconectado Junior Member Iniciad@
Fecha de ingreso
14 jun, 07
Ubicacin
Spain
Mensajes
20
Predeterminado
Wenos dias a todos, tengo una duda existencial...
Es posible exportar un Formulario de VB (Adodc y DataGrid en su interior)
a una hoja de clculo de microsoft excell?
Y en caso de ser posible, de que forma se puede realizar?
Gracias.

Pd: Si encuentro alguna solucin, como siempre, la posteare en el foro.


--> Procedure Divison
Perform Mirar_TiaBuena
Perform Hablar_TiaBuena
Perform Recibir_Torta
Perform_BeberCubata
Goto Mirar_TiaBuena
--> Cobol de Fin de Semana
Citar Citar
20/06/2007, 02:02 #2
Avatar de Anibal
Anibal
Anibal est desconectado Senior Member Guru
Fecha de ingreso
19 dic, 05
Ubicacin
Spain
Mensajes
1,269
Predeterminado
Hola
Quieres exportar el formulario (Objeto Form) o los datos del control Adod
c (lo que se muestra en el DataGrid?
Saludos
....
Citar Citar
20/06/2007, 02:37 #3
Avatar de El_Pobre
El_Pobre
El_Pobre est desconectado Junior Member Iniciad@
Fecha de ingreso
14 jun, 07
Ubicacin
Spain
Mensajes
20
Predeterminado
Quiero exportar el contenido del DataGrid a una Hoja de clculo de Excel
--> Procedure Divison
Perform Mirar_TiaBuena
Perform Hablar_TiaBuena
Perform Recibir_Torta
Perform_BeberCubata
Goto Mirar_TiaBuena
--> Cobol de Fin de Semana

Citar Citar
20/06/2007, 02:56 #4
Avatar de Anibal
Anibal
Anibal est desconectado Senior Member Guru
Fecha de ingreso
19 dic, 05
Ubicacin
Spain
Mensajes
1,269
Predeterminado
Bien, para eso hay varios procedimientos. El mas habitual ( o al menos,
del que mas ejemplos he visto) es con un doble bucle pasar los registros a las c
eldas de la hoja de clculo, pero esto tiene un gran inconveniente y es que tarda
mucho.
Yo lo hago con esta funcin que tarda apenas dos segundos en copiar un rec
ordset con 12800 registros y 19 campos.
Cdigo:
Function ExportExcel(ByVal rs As ADODB.Recordset)
' Nota: tiene que estar activada la referencia a Microsoft Excel xx.x O
bject Library
Dim oExcel As Excel.Application
Dim oWBook As Excel.Workbook
Dim oWSheet As Excel.Worksheet
Dim lFila As Long, iCol As Integer, i As Integer
Set oExcel = New Excel.Application
Set oWBook = oExcel.Workbooks.Add
Set oWSheet = oWBook.Worksheets(1)
Screen.MousePointer = vbHourglass
lFila = 1
iCol = 1
rs.MoveFirst
With oWSheet
' ponemos el nombre de los campos en la primera fila
For i = 0 To rs.Fields.Count - 1
.Cells(lFila, i + 1) = rs.Fields(i).Name
Next i
' cargamos los registros del recordset a partir de la siguiente fila
lFila = lFila + 1
.Cells(lFila, iCol).CopyFromRecordset rs
.Columns.AutoFit ' ajustamos el ancho de las columnas
End With
' mostramos la hoja
oExcel.Visible = True
' eliminamos el objeto
Set oExcel = Nothing
Screen.MousePointer = vbDefault
End Function
Para llamar a la funcin:
ExportExcel Adodc1.Recordset

Cambia Adodc1 por el nombre que le hayas dado al control


Saludos
....
Citar Citar
20/06/2007, 04:28 #5
Avatar de El_Pobre
El_Pobre
El_Pobre est desconectado Junior Member Iniciad@
Fecha de ingreso
14 jun, 07
Ubicacin
Spain
Mensajes
20
Predeterminado
Mi otra solucin:
Private Sub cmdExportar_Click()
' Variables para exportar campo a campo
Dim Titulo As String
Dim PosY As Integer
' Propiedades de los objetos para la exportacin
Dim WB As Variant
Dim ApExcel As Variant

Set ApExcel = CreateObject("Excel.application")


' Hace que Excel se vea
ApExcel.Visible = False
'Agrega un nuevo Libro
''''ApExcel.Workbooks.Add
Set WB = ApExcel.Workbooks.Add("D:\planTilla.XLS")
Titulo = lblTitle.Caption & " " & lblTime.Caption
'Poner Titulos
ApExcel.cells(1,
ApExcel.cells(1,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,

1).Formula = Titulo
1).Font.Size = 18
2).Formula = "Codigo Intervencin"
3).Formula = "Aplicacin"
4).Formula = "Fecha de la Creacin"
5).Formula = "Hora de la Creacin"
6).Formula = "Fecha de la Recepcin"
7).Formula = "Hora de la Recepcin"
8).Formula = "Fecha de Comienzo"
9).Formula = "Hora de Comienzo"
10).Formula = "Situacin Entel"
11).Formula = "Situacin BK"
12).Formula = "Persona"

ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
Rem Estos campos
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,
ApExcel.cells(2,

13).Formula = "Tipo de Intervencin"


14).Formula = "rea BK"
15).Formula = "Descripcin"
16).Formula = "Operativa"
17).Formula = "Cadena"
18).Formula = "JCL / Programa"
19).Formula = "Paso"
serviran par el listado de las Cerradas
20).Formula = "Hora de Cierre"
21).Formula = "Fecha de Cierre"
22).Formula = "Solucin"
23).Formula = "Tipo de Solucin"
24).Formula = "Persona que Cierra"
25).Formula = "Hora de Cierre Ext"
26).Formula = "Fecha de Cierre Ext"
27).Formula = "Hora de Cierre BK"
28).Formula = "Fecha de Cierre BK"
29).Formula = "Horas Imputables"
30).Formula = "Horas Empleadas"

PosY = 3 ' Aumenta de Valor


ADODCBK.Recordset.MoveFirst
While Not ADODCBK.Recordset.EOF
' Bucle carga datos
ApExcel.cells(PosY, 2).Formula = ADODCBK.Recordset.Fields("Codigo_Interv
encion")
ApExcel.cells(PosY, 3).Formula = ADODCBK.Recordset.Fields("Aplicacion")
ApExcel.cells(PosY, 4).Formula = ADODCBK.Recordset.Fields("Fecha_Creacio
n")
ApExcel.cells(PosY, 5).Formula = ADODCBK.Recordset.Fields("Hora_Creacion
")
ApExcel.cells(PosY, 6).Formula = ADODCBK.Recordset.Fields("Fecha_Recibid
a")
ApExcel.cells(PosY, 7).Formula = ADODCBK.Recordset.Fields("Hora_Recibida
")
ApExcel.cells(PosY, 8).Formula = ADODCBK.Recordset.Fields("Fecha_Comienz
o")
ApExcel.cells(PosY, 9).Formula = ADODCBK.Recordset.Fields("Hora_Comienzo
")
ApExcel.cells(PosY, 10).Formula = ADODCBK.Recordset.Fields("Situacion_En
tel")
ApExcel.cells(PosY, 11).Formula = ADODCBK.Recordset.Fields("Situacion_BK
")
ApExcel.cells(PosY, 12).Formula = ADODCBK.Recordset.Fields("Persona")
ApExcel.cells(PosY, 13).Formula = ADODCBK.Recordset.Fields("Tipo_Interve
ncion")
ApExcel.cells(PosY, 14).Formula = ADODCBK.Recordset.Fields("AreaBK")
ApExcel.cells(PosY, 15).Formula = ADODCBK.Recordset.Fields("Descripcion"
)
ApExcel.cells(PosY, 16).Formula = ADODCBK.Recordset.Fields("Operativa")
ApExcel.cells(PosY, 17).Formula = ADODCBK.Recordset.Fields("Cadena")
ApExcel.cells(PosY, 18).Formula = ADODCBK.Recordset.Fields("JCL_Programa
")
ApExcel.cells(PosY, 19).Formula = ADODCBK.Recordset.Fields("Paso")
Rem Campos destinados a las Intervenciones Cerradas
ApExcel.cells(PosY, 20).Formula = ADODCBK.Recordset.Fields("Hora_Cierre"

)
ApExcel.cells(PosY, 21).Formula = ADODCBK.Recordset.Fields("Fecha_Cierre
")
ApExcel.cells(PosY, 22).Formula = ADODCBK.Recordset.Fields("Solucion")
ApExcel.cells(PosY, 23).Formula = ADODCBK.Recordset.Fields("Tipo_Solucio
n")
ApExcel.cells(PosY, 24).Formula = ADODCBK.Recordset.Fields("Persona_Cier
re")
ApExcel.cells(PosY, 25).Formula = ADODCBK.Recordset.Fields("Hora_Cierre_
Ext")
ApExcel.cells(PosY, 26).Formula = ADODCBK.Recordset.Fields("Fecha_Cierre
_Ext")
ApExcel.cells(PosY, 27).Formula = ADODCBK.Recordset.Fields("Hora_Cierre_
BK")
ApExcel.cells(PosY, 28).Formula = ADODCBK.Recordset.Fields("Fecha_Cierre
_BK")
ApExcel.cells(PosY, 29).Formula = ADODCBK.Recordset.Fields("Horas_Imputa
bles")
ApExcel.cells(PosY, 30).Formula = ADODCBK.Recordset.Fields("Horas_Emplea
das")
PosY = PosY + 1
'ApExcel.cells(3, 3).Formula = 100
ADODCBK.Recordset.MoveNext
Wend
' Aplica Formula
ApExcel.cells(3, 4).Formula = "=B3-C3"
' Hace una Seleccion de celdas y pone bordes de Color
ApExcel.Range("B33").BORDERS.Color = RGB(255, 0, 0)
'Kill ("D:\planTilla.XLS") ' Se carga el fichero de salida si existe
WB.Worksheets(1).SaveAs ("D:\" & Day & Month & Year & ".XLS")
'cierro el libro
WB.Close False
'Set ApExcel = Nothin
End Sub
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++
Dim xlApp como Excel.Nuevaaplicacin
XLapp.Visible = Verdadero
Dim XLwks como Excel.Libros = XLapp.Libros
Dim XLwk como Excel.Libro = XLwks.Agregar
Dim XLshts como Excel.Hojas = XLwk.Worksheets
Dim XLsht como Excel.Planilla = XLshts ("Hoja1")
XLsht.Rango ("A1"). Valor = Me.TextBox1.Text.ToString
XLsht.Rango ("A2"). Valor = Me.TextBox2.Text.ToString
XLsht.GuardarComo ("C:\excelBk.xlsx")

Private Sub Command1_Click()


Dim ApExcel As Variant
Set ApExcel = CreateObject("Excel.application")
' Hace que Excel se vea
ApExcel.Visible = True
'Agrega un nuevo Libro

ApExcel.Workbooks.Add
'Poner Titulos
ApExcel.cells(1, 1).Formula = "Titulo de la Aplicacion"
ApExcel.cells(1, 1).Font.Size = 18
ApExcel.cells(2, 2).Formula = "Debe"
ApExcel.cells(2, 3).Formula = "Haber"
ApExcel.cells(2, 4).Formula = "Saldo"
ApExcel.cells(3, 2).Formula = 200
ApExcel.cells(3, 3).Formula = 100
' Aplica Formula
ApExcel.cells(3, 4).Formula = "=B3-C3"
' Hace una Seleccion de celdas y pone bordes de Color
ApExcel.RANGE("B3:D3").BORDERS.COLOR = RGB(255, 0, 0)
Set ApExcel = Nothing
End Sub

Potrebbero piacerti anche