I'll get you part way there. There isn't enough info to do it all but it would be easy to look up the rest.
This uses vba code to do what you requested.
Below is code from vbaexpress written by Mvidas. It takes an internet address and saves it to a local file.
Option Explicit
Function SaveWebFile(ByVal vWebFile As String, ByVal vLocalFile As String) As Boolean
Dim oXMLHTTP As Object, i As Long, vFF As Long, oResp() As Byte
'You can also set a ref. to Microsoft XML, and Dim oXMLHTTP as MSXML2.XMLHTTP
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
oXMLHTTP.Open "GET", vWebFile, False 'Open socket to get the website
oXMLHTTP.Send 'send request
'Wait for request to finish
Do While oXMLHTTP.readyState <> 4
DoEvents
Loop
oResp = oXMLHTTP.responseBody 'Returns the results as a byte array
'Create local file and save results to it
vFF = FreeFile
If Dir(vLocalFile) <> "" Then Kill vLocalFile
Open vLocalFile For Binary As #vFF
Put #vFF, , oResp
Close #vFF
'Clear memory
Set oXMLHTTP = Nothing
End Function
A macro to test it with
Sub TestingTheCode()
'This will save the Google logo to your hard drive, insert it into the
' active spreadsheet, then delete the local file
SaveWebFile "http://www.google.com/intl/en/images/logo.gif", "C:\GoogleLogo.gif"
ActiveSheet.Pictures.Insert "C:\GoogleLogo.gif"
Kill "C:\GoogleLogo.gif"
End Sub
With this function you need to setup a loop and get the address from your hyperlinks
You would need to setup a loop to go through your cells,Get the hyperlink address and run the function
For i = 1 to lastRow
cellAddress = Replace(Range("A" & i).Hyperlinks(1).Address, "mailto:", "")
'Something to get the file name from the whole file name here
SaveWebFile cellAddress, destinationFolder & filename
Next
Most printers cannot print PDFs directly. Some can, but nearly every one of those requires the PDF to be sent to the printer via some special, printer-specifc command. In the case of the Kyocera the command is "KYOCERA Net Direct Print". Note that only Windows versions are available.
The only other way to send a PDF to a printer from the command line is to use a PDF reader with suitable command line options. Old versions of Adobe Acrobat Reader had this capability, but this is no longer supported. However, some other PDF readers like Foxit Reader still do. This should be significantly faster than GSprint. To print a PDF with Foxit, use the following command:
Foxit Reader.exe" /t "FileName
Best Answer
It is quite easy to check if a PDF file is valid, by using PDFtk. A free GUI for PDFtk is available from PDF Labs. When you run this tool, you can load as many PDFs as you wish, from multiple directories (by using Add files button), and then it will start accessing the pages in these PDF files, very quickly.
If any file among the selected PDFs is not valid PDF, this utility will show a message about the error, and will remove it automatically from the selection window.
Hence you can save many hours using this procedure with PDFtk. Additionally, if you have multicore CPU, you can run multiple instances of this utility and throw in hundreds of PDFs in each instance.
I am using this software since last 1 year, and it is the most handy PDF tool I have ever used.