Impresion de hojas mediante macro

Tengo 10 hojas excel que se encuentran en un determinado directorio ejemplo: c:\misdocumentos\fichas y mediante una macro hago que imprima en una sola pagina tamaño A4 y con cabeceras uniformes para cada una de ellas claro no necesito grabarlos luego tan solo imprimirlo y soltarlo para luego recuperar el otro archivo claro que lo hago una por una.
Como recupero cada hoja (ojo que no esta en un mismo libro) ya que cada archivo excel esta algo asi: vcv001.xls, acv022.xls, dcv003.xls, gcv004.xls .... Zcv010.xls y mediante una macro haga este proceso para la primera hoja y de inmediato recupere la 2da hoja corra la macro e imprima y asi a la 3ra. Hoja y asi sucesivamente hasta la 10ma hoja y termine de imprimir todas?
Gracias por su ayuda.
Respuesta
1
Prueba esto que me encontré.
Sub Tester()
Dim Ret As Long, myAddress1 As String, myAddress2 As String, myPath As String
myAddress1 = ActiveCell.Address
myAddress2 = "$B$" & Right(myAddress1, 1)
myPath = Range(myAddress1).Value + Range(myAddress2).Value
'// Substitute here your Doc full path
Ret = fnShellOperation(myPath, "print", SW_MAXIMIZE)
End Sub
'---------------------------------------------------------------------------------------
' Module : basShellOp
' DateTime : 29/09/03 18:31
' Author : Ivan F Moala
' Purpose : Opens ANY Document/File
'---------------------------------------------------------------------------------------
Option Explicit
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
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Private Const SW_HIDE As Long = 0
Private Const SW_NORMAL As Long = 1
Private Const SW_MAXIMIZE As Long = 3
Private Const SW_MINIMIZE As Long = 6
'//---------------------------------------------------------------------------------------
'// Function : fnShellOperation
'// DateTime : 20/09/03 20:50
'// Author : "Ivan F Moala"
'// Site : "http://www.xcelfiles.com"
'// Purpose : Performs an operation eg Open,Print
'// : a specified file. The file can be an executable file or a document file.
'---------------------------------------------------------------------------------------
Public Function fnShellOperation(strFilePath As String, _
Optional strOperation As String, _
Optional nShowCmd As Double) As Long
Dim hWndDesk As Long
'// Use the desktop as default ... you should use your App.handle
hWndDesk = GetDesktopWindow()
If Len(strOperation) = 0 Then strOperation = "Open"
If nShowCmd = Null Then nShowCmd = SW_MAXIMIZE
'// Failure when >0 or <=32
fnShellOperation = ShellExecute(hWndDesk, strOperation, strFilePath, 0, 0, nShowCmd)
If fnShellOperation <= 32 Then
MsgBox "Couldn't " & strOperation & " " & strFilePath & vbCrLf & vbCrLf & _
"Error:= " & fnShellErr(fnShellOperation)
End If
'// OK check IF there was an Association Error
If fnShellOperation = 31 Then
'// OK Ask user if they want to Open it using another program
If MsgBox(strOperation & " Using another Application", vbYesNo) = vbYes Then
Shell "rundll32.exe shell32.dll,OpenAs_RunDLL " & strFilePath, vbNormalFocus
End If
End If
End Function
'//---------------------------------------------------------------------------------------
'// Function : fnShellErr
'// DateTime : 20/09/03 20:50
'// Author : "Ivan F Moala"
'// Site : "http://www.xcelfiles.com"
'// Purpose :
'---------------------------------------------------------------------------------------
Public Function fnShellErr(Ret As Long) As String
Select Case Ret
'// Typical Errors
Case 0: fnShellErr = "The operating system is out of memory or resources."
Case Is = 2: fnShellErr = "The specified FILE was not found."
Case Is = 3: fnShellErr = "The specified PATH was not found."
Case Is = 5: fnShellErr = "The operating system denied access to the specified file."
Case Is = 8: fnShellErr = "There was not enough memory to complete the operation."
Case Is = 11: fnShellErr = "The .EXE file is invalid (non-Win32 .EXE or error in .EXE image)."
Case Is = 26: fnShellErr = "A sharing violation occurred."
Case Is = 27: fnShellErr = "The filename association is incomplete or invalid."
Case Is = 28: fnShellErr = "The DDE transaction could not be completed because the request timed out."
Case Is = 29: fnShellErr = "The DDE transaction failed."
Case Is = 30: fnShellErr = "The DDE transaction could not be completed because other DDE transactions were being processed."
Case Is = 31: fnShellErr = "There is no application associated with the given filename extension."
Case Is = 32: fnShellErr = "The specified dynamic-link library was not found."
Case Else: fnShellErr = "*UNDEFINED* Error"
End Select
End Function
Gracias Amigo Experto:
Lo estoy probando tu ayuda, cualquier duda  si no es molestia te escribo. Gracias
Si podrias darme una explicacion acerca del procedimiento y por cada rutina que hace?
Si no tienes por lo menos un 10% de conocimientos en macros y VBA, se me tomaría demasiado tiempo en explicarte ya que sería como darte clases por este medio.
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas