Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Copiar líneas de un listview

Estas en el tema de Copiar líneas de un listview en el foro de Visual Basic clásico en Foros del Web. Hola a todos, de antemano gracias por su ayuda. Quisiera que saber, cómo podría hacer para copiar varias líneas de un control listview y poderlas ...
  #1 (permalink)  
Antiguo 10/08/2009, 11:32
 
Fecha de Ingreso: julio-2008
Mensajes: 33
Antigüedad: 15 años, 9 meses
Puntos: 0
Pregunta Copiar líneas de un listview

Hola a todos, de antemano gracias por su ayuda.

Quisiera que saber, cómo podría hacer para copiar varias líneas de un control listview y poderlas pegar, ya sea en un excel o en el openoffice o quisá en el un notepad, pero que me conserve la tabulación.

Saludos y gracias
  #2 (permalink)  
Antiguo 10/08/2009, 16:23
 
Fecha de Ingreso: julio-2008
Mensajes: 33
Antigüedad: 15 años, 9 meses
Puntos: 0
De acuerdo Respuesta: Copiar líneas de un listview

Bueno encontré yo mismo la solución.
Les dejo el código, por si les sirva

Dim str As String
Dim I As Integer
Dim x As Integer
Dim y As Integer
x=10
For I = 1 To ListPedido.ListItems.Count

If ListPedido.ListItems(I).Selected Then
For y = 0 To x - 1
If y = 0 Then
str = str & ListPedido.ListItems(I)
Else
str = str & ListPedido.ListItems(I).ListSubItems(y)
End If
str = str & vbTab
Next y
str = str & vbCr
End If

Next I

Clipboard.Clear
Clipboard.SetText str, 1


Saludos
  #3 (permalink)  
Antiguo 17/05/2010, 08:20
 
Fecha de Ingreso: mayo-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Respuesta: Copiar líneas de un listview

Cita:
Iniciado por parboli Ver Mensaje
Bueno encontré yo mismo la solución.
Les dejo el código, por si les sirva

Dim str As String
Dim I As Integer
Dim x As Integer
Dim y As Integer
x=10
For I = 1 To ListPedido.ListItems.Count

If ListPedido.ListItems(I).Selected Then
For y = 0 To x - 1
If y = 0 Then
str = str & ListPedido.ListItems(I)
Else
str = str & ListPedido.ListItems(I).ListSubItems(y)
End If
str = str & vbTab
Next y
str = str & vbCr
End If

Next I

Clipboard.Clear
Clipboard.SetText str, 1


Saludos


A mi me sirvió
Aqui les dejo una versión mas genérica

Public Sub copiarListViewEnPortaPapeles(prLvw As ListView, Optional prTitulo As String = "")

Dim str As String
Dim objLi As ListItem
Dim objCh As ColumnHeader
Dim objSubI As ListSubItem

On Error GoTo errorHandler

str = ""

If prTitulo <> "" Then
str = str & prTitulo
str = str & vbTab
str = str & vbCr
str = str & vbCr
End If

'copio la cabecera del listview
For Each objCh In prLvw.ColumnHeaders
str = str & objCh.Text
str = str & vbTab
Next
str = str & vbCr

For Each objLi In prLvw.ListItems
str = str & objLi.Text
str = str & vbTab
For Each objSubI In objLi.ListSubItems
str = str & objSubI.Text
str = str & vbTab
Next
str = str & vbCr
Next

Clipboard.Clear
Clipboard.SetText str, 1


Exit Sub
errorHandler:
Err.Raise Err.Number, "copiarListViewEnPortaPapeles", Err.Description

End Sub
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:58.