Importar o imprimir directamente pdf junto a datos.
publicado
Buenas a todos y gracias de antemano, hacia tiempo que no pasaba por aqui.
Resulta que tengo una macro que genera unos datos e importa un PDF con OLEObject, para que aprovechando la impresion de doble cara de la impresora, imprimir por una cara los datos y por la otra el PDF insertado, pues bien, funciona a la perfeccion pero tengo un gran problema con la calidad de la importacion ya que baja considerablemente y apenas son legibles los textos mas pequeños cuando lo imprimo (si imprimo directamente el PDF se ve perfecto). Ante esta situacion cambie de estrategia y cree (con ayuda de algun codigo encontrado por hay) una macro para imprimir el PDF directamente, pero me es imposible hacer la impresion a doble cara, por un lado los datos de la hoja y por otro el pdf.
Hay alguna manera de aumentar la calidad de la importacion del PDF? Es posible controlar la impresion para imprimir el PDF directo en la segunda cara del folio?
Espero haberme expresado bien.
Aqui el codigo para impotar el pdf correspondiente :
'insertamos la TNC en PDF
FicheroPDF = "D:\public\TNC\" & Nmaquina & ".pdf"
hojaficha.Cells(33, 1).Select
ActiveSheet.OLEObjects.Add fileName:=FicheroPDF
ActiveSheet.OLEObjects(1).Select
Selection.ShapeRange.Width = 750
Aqui el codigo para imprimir el pdf correspondiente directamente:
Public Enum actionType
openfile
PrintFile
End Enum
Public Const SW_SHOWNORMAL As Long = 1
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Function ExecuteFile(fileName As String, action As actionType)
Buenas a todos y gracias de antemano, hacia tiempo que no pasaba por aqui.
Resulta que tengo una macro que genera unos datos e importa un PDF con OLEObject, para que aprovechando la impresion de doble cara de la impresora, imprimir por una cara los datos y por la otra el PDF insertado, pues bien, funciona a la perfeccion pero tengo un gran problema con la calidad de la importacion ya que baja considerablemente y apenas son legibles los textos mas pequeños cuando lo imprimo (si imprimo directamente el PDF se ve perfecto). Ante esta situacion cambie de estrategia y cree (con ayuda de algun codigo encontrado por hay) una macro para imprimir el PDF directamente, pero me es imposible hacer la impresion a doble cara, por un lado los datos de la hoja y por otro el pdf.
Hay alguna manera de aumentar la calidad de la importacion del PDF? Es posible controlar la impresion para imprimir el PDF directo en la segunda cara del folio?
Espero haberme expresado bien.
Aqui el codigo para impotar el pdf correspondiente :
'insertamos la TNC en PDF
FicheroPDF = "D:\public\TNC\" & Nmaquina & ".pdf"
hojaficha.Cells(33, 1).Select
ActiveSheet.OLEObjects.Add fileName:=FicheroPDF
ActiveSheet.OLEObjects(1).Select
Selection.ShapeRange.Width = 750
Aqui el codigo para imprimir el pdf correspondiente directamente:
Public Enum actionType
openfile
PrintFile
End Enum
Public Const SW_SHOWNORMAL As Long = 1
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Function ExecuteFile(fileName As String, action As actionType)
' action can be either "Openfile" or "Printfile".
Dim sAction As String
Select Case action
Case 0 ' openfile
sAction = "Open"
Case 1 ' printfile
sAction = "Print"
End Select
ShellExecute 0, sAction, fileName, vbNullString, "", SW_SHOWNORMAL
End Function
Public Sub Imp_Ficha()
'
' Imp_Ficha Macro
'
'
Set hojaficha = Sheets("Nficha")
hojaficha.Activate
Range("A2:I59").Select
'Range("A30").Activate
Selection.PrintOut
ExecuteFile "D:\public\TNC\" & Nmaquina & ".pdf", PrintFile
End Sub