Visual Basic - copiar datos al portapapeles

Life is soft - evento anual de software empresarial
 
Vista:

copiar datos al portapapeles

Publicado por Silvia (4 intervenciones) el 20/02/2007 17:08:16
Necesito que me ayuden, tengo datos que se cargan en una grilla y necesito seleccionarlos y copiarlos al portapapeles, para de alli pegarlos a excell o a word.
¿Cual será la mejor forma?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:copiar datos al portapapeles

Publicado por ivan (1039 intervenciones) el 20/02/2007 20:47:42
yo tengo un ejemplo usando datagrid.... te sirve ???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:copiar datos al portapapeles

Publicado por IVAN (1039 intervenciones) el 20/02/2007 21:21:13
si, por favor. Realmente me seria muy util contar con la informacion. Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:copiar datos al portapapeles

Publicado por Silvia (4 intervenciones) el 20/02/2007 21:22:56
si, por favor, estoy necesitando toda la informacion posible, muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:copiar datos al portapapeles

Publicado por ivan (1039 intervenciones) el 20/02/2007 21:49:10
muy bien, pongo el ejemplo, espero les sirva

Activo un Menu PopUp en el datagrid, validando que esté en una columna y renglón válidos. MnDataGrid es un menú (ver Editor de Menus), al iniciar el módulo éste menú tiene su propiedad Visible = False

Private Sub DataGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then ' Comprueba si es el botón secundario.
If DataGrid1.Row >= 0 Then
If DataGrid1.Columns(0).Text <> "" Then
PopupMenu MnDataGrid
End If
End If
End If
End Sub

Private Sub MnDataGrid_Click()
Clipboard.Clear
PortaPap=""
DataGrid1.Visible = False
NoRevMov = True
For i = 1 To RsDatos.RecordCount - 1
RsDatos.AbsolutePosition = i
' ColumnaSelB es la columna del datagrid que vas a copiar al portapapeles
Select Case ColumnaSelB
Case 0: PortaPap = PortaPap & RsDatos("Campo1") & VBA.Chr(10)
Case 1: PortaPap = PortaPap & RsDatos("Campo2") & VBA.Chr(10)
Case 2: PortaPap = PortaPap & RsDatosl("Campo3") & VBA.Chr(10)
' depende de cuantos campos muestra el datagrid
' obvio, depende de la consulta al RecordSet
End Select
Next i
NoRevMov = False
DataGrid1.Visible = True
Clipboard.SetText PortaPap
End Sub

Este ejemplo solo te copia al portapapeles toda una columna del datagrid, la puedes pegar en un archivo de Word, Excel o no se cual otro más.

Para que tu aplicación abra el Excel y la pegue en determinada columna ya sería otro proceso, para eso tienes que declarar una variable tipo excel.Application abrir el excel y ejecutar una serie de macros para copiar lo que quieras en donde quieras en excel

espero esta informacion te sea util, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:copiar datos al portapapeles

Publicado por silvia (4 intervenciones) el 20/02/2007 22:04:59
si me sirve, muchas gracias......... Saludos para vos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar