Can I link or embed .pdf files into or to an excel file?

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I would like to link .pdf files to an excel file. Within my excel file I
would like to have a column that has file names in it. Then have excel link
those files to the excel file so when I print the excel file all the linked
files print along with it.
 
Hi GrubbyG,

Try to cut and paste this macro code below and run. It is not only PDF but
all the files.

Sub AutoHyperlinkFileNametoExcel()
Dim fnam As Variant

' fnam is an array of files returned from GetOpenFileName
' note that fnam is of type boolean if no array is returned.
' That is, if the user clicks
' on cancel in the file open dialog box, fnam is set to FALSE

Dim b As Integer 'counter for filname array
Dim b1 As Integer 'counter for finding \ in filename
Dim Cell As Range
Dim x As Integer
' first open a blank sheet and go to top left ActiveWorkbook.Worksheets.Add

fnam = Application.GetOpenFilename("all files (*.*), *.*", 1, _
"Select Files to Fill Range", "Get Data", True)

If TypeName(fnam) = "Boolean" And Not (IsArray(fnam)) Then Exit
Sub 'if user hits cancel, then end

For b = 1 To UBound(fnam)

' print out the filename (with path) into first column of new
sheet
ActiveSheet.Cells(b, 1) = fnam(b)
b1 = Len(fnam(b))

' add any other columns to s/s here
' this code makes the drawing name from the filename
' by stripping off the directory name and the extension

Do While Mid(fnam(b), b1, 1) <> "\"
b1 = b1 - 1
Loop
Next
'resize the columns

ActiveSheet.Range("a:zz").Columns.AutoFit
x = ActiveSheet.UsedRange.Rows.Count
Range("B1").Select
ActiveCell.FormulaR1C1 = "=HYPERLINK(RC[-1])"
Range("B1").Select
Selection.AutoFill Destination:=Range("B1:B" & x), Type:=xlFillDefault
End Sub

Hope this helps.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top