Notifications
Clear all

Imprimir arquivos PDF

8 Posts
2 Usuários
0 Reactions
1,120 Visualizações
engeel2014
(@engeel2014)
Posts: 207
Estimable Member
Topic starter
 

Bom dia pessoal, tenho em uma determinada pasta onde possui vários arquivos no formato PDF. preciso de uma macro no excel que quando clicar em determinado botão a macro imprima o arquivo PDF que está na pasta. Quero deixar um campo na planilha para inserir a quantidade de cópias que quer que seja tirada também. Alguém tem algum código que possa me ajudar, ou ao menos ajustar para funcionar como preciso?

Lucélio Ferreira dos Santos
Eng. Eletricista
CREA: DF-7165/TD
[email protected]

 
Postado : 10/04/2015 8:17 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Veja se há algo que possa lhe ajudar.
http://www.google.com.br/cse?cx=partner ... gsc.page=1

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 10/04/2015 8:36 am
engeel2014
(@engeel2014)
Posts: 207
Estimable Member
Topic starter
 

Bom dia Alexandre, dei uma olhada , mas não me atende. O que preciso é um pouco diferente, preciso de uma macro no excel que abra um determinado arquivo no formato PDF e imprima ele, não quero que o Excel gere um arquivo PDF. Obrigado.

Lucélio Ferreira dos Santos
Eng. Eletricista
CREA: DF-7165/TD
[email protected]

 
Postado : 14/04/2015 6:41 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Veja se esse modelo te atende

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 Function PrintThisDoc(formname As Long, FileName As String)
On Error Resume Next
Dim X As Long
X = ShellExecute(formname, "Print", FileName, 0&, 0&, 3)
End Function
 
Sub testandoimpressao()
Dim printThis
Dim strDir As String
Dim strFile As String
strDir = "C:UsersalexandreVBADownloads" 'Mude para o local onde está o arquivo
strFile = "Nota_Impressora_RAT_50766.pdf" 'Nome do arquivo
 
printThis = PrintThisDoc(0, strDir & "" & strFile)
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 14/04/2015 8:59 am
engeel2014
(@engeel2014)
Posts: 207
Estimable Member
Topic starter
 

Boa tarde Alexandre,

Funcionou perfeitamente, só tive que adaptar no inicio do codigo, pois meu sistema operacional é 64Bits.

linha do codigo:

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _

Linha alterada:

Public Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _

Só mais uma dúvida, tem como determinar a quantidade de cópias conforme o valor de uma célula da planilha do Excel??

Obrigado.

Lucélio Ferreira dos Santos
Eng. Eletricista
CREA: DF-7165/TD
[email protected]

 
Postado : 14/04/2015 11:47 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!

tente um loop..

Dim i As Integer

    For i = 1 To 2 'Qtd que seja imprimir
        strDir = "C:UsersalexandreVBADownloads" 'Mude para o local onde está o arquivo
        strFile = "Nota_Impressora_RAT_50766.pdf" 'Nome do arquivo
        printThis = PrintThisDoc(0, strDir & "" & strFile)
    Next i

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 14/04/2015 1:58 pm
engeel2014
(@engeel2014)
Posts: 207
Estimable Member
Topic starter
 

Valeu irmão. Muito obrigado deu certinho aqui.

Ficou assim o codigo. Setei na célula "A1" a quantidade de cópias.

Option Explicit
Public Declare PtrSafe 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 Function PrintThisDoc(formname As Long, FileName As String)
On Error Resume Next
Dim X As Long
X = ShellExecute(formname, "Print", FileName, 0&, 0&, 3)
End Function
Sub testandoimpressao()
Dim i As Integer
Dim printThis
Dim strDir As String
Dim strFile As String
For i = 1 To Range("a1").Value
strDir = "D:teste" 'Mude para o local onde está o arquivo
strFile = "levantar.pdf" 'Nome do arquivo
printThis = PrintThisDoc(0, strDir & "" & strFile)
Next i
End Sub

Lucélio Ferreira dos Santos
Eng. Eletricista
CREA: DF-7165/TD
[email protected]

 
Postado : 14/04/2015 2:12 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Eu fico feliz que resolveu, obrigado pelo retorno!!

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 14/04/2015 2:25 pm