ShellExecute frmAcuavalle.hwnd, "Print", slda, _
vbNullString, vbNullString, 0
Gracias
> Estoy usando el siguiente codigo para imprimir un archivo
> plano y no hace nada ni siquiera genera error. slda
> contiene el path y el nombre del archivo a imprimir.
>
Hola, Fernando:
¿Qué extensión tiene el nombre del archivo? Si la extensión es distinta de
*.txt, tendrás que registrar la extensión en el registro de windows para
asociarla con el programa con el cual deseas imprimir el archivo de texto.
Debes de tener en cuenta que la función API «ShellExecute» se dedica a
buscar el nombre del programa al que está asociada la extensión del archivo,
abriendo el programa o imprimiendo el archivo dependiendo del valor que se
le pase en el parámetro «lpOperation». Para saber si la extensión
especificada no tiene ninguna asociación, tienes que leer el valor devuelto
por la función «ShellExecute»:
Dim dl As Long
dl = ShellExecute (frmAcuavalle.hwnd, "Print", slda, _
vbNullString, vbNullString, 0)
If dl = 31 Then
MsgBox "No existen asociaciones."
ElseIf dl > 32
MsgBox "Archivo imprimido."
Else
MsgBox "Revisa el nombre y la trayectoria del archivo."
End If
Si quieres hacer la prueba, busca un archivo con extensión TXT, que
normalmente se encuentra asociado al Bloc de Notas de Windows, y siempre y
cuando este contenga algo de texto, observarás que te aparecerá el mismo
cuadro de diálogo que si imprimieras el archivo utilizando el Bloc de Notas.
Un saludo.
--
Enrique Martínez
[MS MVP - VB]
Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.