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

imprimir fichero de un listbox

Estas en el tema de imprimir fichero de un listbox en el foro de Visual Basic clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 15/02/2008, 02:37
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
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!
  #2 (permalink)  
Antiguo 15/02/2008, 03:12
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
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
  #3 (permalink)  
Antiguo 15/02/2008, 03:54
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
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.
  #4 (permalink)  
Antiguo 15/02/2008, 04:25
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
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/02/2008 a las 04:50
  #5 (permalink)  
Antiguo 15/02/2008, 05:36
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
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
  #6 (permalink)  
Antiguo 15/02/2008, 07:26
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
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.
  #7 (permalink)  
Antiguo 15/02/2008, 09:43
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
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!
  #8 (permalink)  
Antiguo 15/02/2008, 12:30
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
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"
  #9 (permalink)  
Antiguo 19/02/2008, 09:34
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
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.
  #10 (permalink)  
Antiguo 19/02/2008, 10:07
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
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
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 07:31.