CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Impresion word
(1/1)
MarioChep:
Estimados amigos
tengo el siguiente codigo que toma un word que esta en el archivo de recursos de mi aplicacion, pero no quiero que tenga la ruta completa..
quiero que sea de manera corta(si es que existe)
ademas quiero que esto se imprima en formato A4
y que segun la cantidad que este en el NumericUpDown
sea la cantidad de impresiones.
saludos a todos.
--- Código: ---PrivateSub btnImprimirFormato_Click(sender As System.Object, e As System.EventArgs)Handles btnImprimirFormato.Click If nudCantidad.Value =0Then MessageBox.Show("Debe seleccionar una cantidad mayor a CERO","Error", MessageBoxButtons.OK, MessageBoxIcon.Information) nudCantidad.Focus()ElseDim ret AsBoolean' le pasa el documento de word que se va a imprimir ret = Imprimir("C:\Users\MarioChep-Thinks\Desktop\Compilacion 5 dias\Interfaz de Prueba DLL LetScan\Resources\HOJA_RESPUESTA FINAL.docx",False)If ret Then MsgBox("Ok", vbInformation)EndIfEndIfEndSubPublicFunction Imprimir(Path AsString,Optional Visible_Word AsBoolean=True)AsBoolean' variable de objeto para acceder al Word Dim Obj_Word AsObject' crea el objeto Obj_Word = CreateObject("Word.Application")' Visible / No visible If Visible_Word Then Obj_Word.Visible =TrueElse Obj_Word.Visible =FalseEndIf'Abre el documento Obj_Word.Documents.Open(Path)' Imprime el documento activo con Printout Obj_Word.ActiveDocument.Printout()' Cierra el documento Obj_Word.Quit()' Elimina la referencia Obj_Word =Nothing' retorno If Err.Number =0Then Imprimir =TrueEndIfExitFunction Error_Function:' error MsgBox(Err.Description)OnErrorResumeNext Obj_Word =Nothing Obj_Word.Quit()EndFunction[/size][/font]
--- Fin del código ---
MarioChep:
Private Sub btnImprimirFormato_Click(sender As System.Object, e As System.EventArgs) Handles btnImprimirFormato.Click
If nudCantidad.Value = 0 Then
MessageBox.Show("Debe seleccionar una cantidad mayor a CERO", "Error", MessageBoxButtons.OK, MessageBoxIcon.Information)
nudCantidad.Focus()
Else
Dim ret As Boolean
' le pasa el documento de word que se va a imprimir
ret = Imprimir("C:\Users\MarioChep-Thinks\Desktop\Compilacion 5 dias\Interfaz de Prueba DLL LetScan\Resources\HOJA_RESPUESTA FINAL.docx", False)
If ret Then
MsgBox("Ok", vbInformation)
End If
End If
End Sub
Public Function Imprimir(Path As String, Optional Visible_Word As Boolean = True) As Boolean
' variable de objeto para acceder al Word
Dim Obj_Word As Object
' crea el objeto
Obj_Word = CreateObject("Word.Application")
' Visible / No visible
If Visible_Word Then
Obj_Word.Visible = True
Else
Obj_Word.Visible = False
End If
'Abre el documento
Obj_Word.Documents.Open(Path)
' Imprime el documento activo con Printout
Obj_Word.ActiveDocument.Printout()
' Cierra el documento
Obj_Word.Quit()
' Elimina la referencia
Obj_Word = Nothing
' retorno
If Err.Number = 0 Then
Imprimir = True
End If
Exit Function
Error_Function:
' error
MsgBox(Err.Description)
On Error Resume Next
Obj_Word = Nothing
Obj_Word.Quit()
End Function
.net:
Observa la siguiente url
http://stackoverflow.com/questions/10464906/set-the-default-print-page-size-for-microsoft-word
Espero te sirva
Navegación
Ir a la versión completa