Retroceder   Foros del Web > Temas generales de computación > Programación > Visual Basic

Respuesta
 
Herramientas Desplegado
Antiguo 15-feb-2008, 01:37   #1 (permalink)
guif ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 94
imprimir fichero de un listbox

En un listBox con Visual Basic, muestro una ruta + fichero al estilo de:

C:\fichero1.xls
C:\fichero2.xls
C:\fichero3.xls

Haciendo un click en un elemento del listbox (list1.listindex) podria sacar dicho fichero por la impresora?

gracias!
guif está desconectado   Responder Citando
Antiguo 15-feb-2008, 02:12   #2 (permalink)
Avellaneda tiene algunos puntos positivos de karma
 
Avatar de Avellaneda
 
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 694
Re: imprimir fichero de un listbox

Sí lo puedes hacer, pero debes indicar la hoja que quieres imprimir


Código:
Dim miXLS As String
    Dim oExcel As Object, oWorkbook As Object

    miXLS = List1.Text
    Set oExcel = CreateObject("Excel.Application")
    Set oWorkbook = oExcel.Workbooks.Open(miXLS)
    oExcel.Sheets("Hoja1").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
    oExcel.Quit
    Set oWorkbook = Nothing
    Set oExcel = Nothing
Avellaneda está desconectado   Responder Citando
Antiguo 15-feb-2008, 02:54   #3 (permalink)
guif ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 94
Re: imprimir fichero de un listbox

mediante un botón, muestro los ficheros que hay en una carpeta:

Código:
Private Sub Command1_Click()
path = "C:\Documents and Settings\Administrador\Escritorio\01 enero\"
ffname = Dir(path, vbArchive)
Dir (path)
While ffname <> ""
If (GetAttr(path & ffname) And vbArchive) = vbArchive Then
Debug.Print path & ffname
List1.AddItem (path & ffname)
totfolders = totfolders + 1
End If
ffname = Dir()
Wend
entonces, si aplico el codigo que me has pasado me encuentro con una duda:

Donde pongo
Código:
oExcel.Sheets("????").Select
Puedo poner donde los ???? el ffname que utilizon en el boton??? (las hojas de excel se llaman como el nombre del fichero.
guif está desconectado   Responder Citando
Antiguo 15-feb-2008, 03:25   #4 (permalink)
guif ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 94
Re: imprimir fichero de un listbox

perfecto!
lo he conseguido poniendo:

Código:
oExcel.ActiveSheet.Select
Me ocurre tambien que al abrir el EXCEL y cerrarlo me pide Guardar el documento... esto se puede evitar?

Edito la solucion!

Código:
oExcel.ActiveWorkbook.Save
gracias por tu ayuda!

Última edición por guif; 15-feb-2008 a las 03:50.
guif está desconectado   Responder Citando
Antiguo 15-feb-2008, 04:36   #5 (permalink)
Avellaneda tiene algunos puntos positivos de karma
 
Avatar de Avellaneda
 
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 694
Re: imprimir fichero de un listbox

Veo que estás trabajando con Excel como referencia y el ejemplo que yo puse era creando el Objeto.

Con este código no sale el mensaje de guardar los cambio, unicamente el mensaje de Imprimiendo.

Código:
Dim oExcel As Excel.Application
Set oExcel = New Excel.Application
With oExcel
    .Workbooks.Open List1.Text
    .Sheets("NombreHoja").Activate
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
End With
Set oExcel = Nothing
Avellaneda está desconectado   Responder Citando
Antiguo 15-feb-2008, 06:26   #6 (permalink)
guif ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 94
Re: imprimir fichero de un listbox

si. tienes razon, pero me ha ayudado mucho.
He activado la referencia de scripting, pero al final he agregado el componente de Microsoft Excel y he terminado poniendo:

excel.Workbooks.Open List1.List(List1.ListIndex)
excel.ActiveWindow.SelectedSheets.PrintOut Copies:=1
excel.ActiveWorkbook.Save
excel.Workbooks.Close


Gracias igualmente.
guif está desconectado   Responder Citando
Antiguo 15-feb-2008, 08:43   #7 (permalink)
guif ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 94
Re: imprimir fichero de un listbox

me ha surgido otra duda.
He puesto un DriveList, DirList y un FileList.
Entonces, teniendo mi codigo, puedo pasar la ruta completa (ej: C:\carpeta01\fichero01.xls) hacia el List1????

Actualmente, en el Filelist veo el fichero. Solo faltaria insertar la ruta completa en el List1.

gracias!
guif está desconectado   Responder Citando
Antiguo 15-feb-2008, 11:30   #8 (permalink)
Avellaneda tiene algunos puntos positivos de karma
 
Avatar de Avellaneda
 
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 694
Re: imprimir fichero de un listbox

La propiedad Path del DirList dá la ruta seleccionada:

Dir1.Path retornará (en tu caso) "c:\carpeta01"

La propiedad FileName del FileList dá el nombre del archivo seleccionado

File1.FileName retornará "fichero01.xls"

por lo tanto, concatenando ambos consigues la ruta completa y el archivo seleccionado:

RutaCompleta = Dir1.Path & "\" & File1.FileName
Resultado: "c:\carpeta01\fichero01.xls"
Avellaneda está desconectado   Responder Citando
Antiguo 19-feb-2008, 08:34   #9 (permalink)
guif ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 94
Re: imprimir fichero de un listbox

si pongo esto en el LOAD:

List1.AddItem (DirList.Path & "\" & FileList.FileName)

no me devuelve la cadena completa. No me muestra el fichero.
guif está desconectado   Responder Citando
Antiguo 19-feb-2008, 09:07   #10 (permalink)
Avellaneda tiene algunos puntos positivos de karma
 
Avatar de Avellaneda
 
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 694
Re: imprimir fichero de un listbox

Normal, en el evento Load no tienes seleccionado ningún archivo (a no ser que, previamente hayas seleccionado un índice con la propiedad ListIndex), lo tienes que poner en un CommandButton (después de seleccionar el archivo) o en el evento Click del FileListBox
Avellaneda está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 23:25.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93