Inserción de archivos pdf en EXCEL mediante macro
Jeremie31
-
user -
user -
Bonjour,
Peut-on faire cela sous Excel via une macro pour attacher un fichier PDF sur chaque ligne d’un classeur, le nom du fichier étant défini par la valeur d’une cellule ? Par exemple, si en cellule A1 j’ai « BOB », insérer sous forme d’icône le fichier C://Mes Documents/BOB.pdf et le redimensionner pour qu’il tienne dans la cellule B1. De même en A2 avec « SAM », attacher SAM.pdf en cellule B2, et ainsi de suite jusqu’à 120 lignes. Est-ce possible ? Merci pour votre aide !!!
Configuration: Windows XP Internet Explorer 7.0
Peut-on faire cela sous Excel via une macro pour attacher un fichier PDF sur chaque ligne d’un classeur, le nom du fichier étant défini par la valeur d’une cellule ? Par exemple, si en cellule A1 j’ai « BOB », insérer sous forme d’icône le fichier C://Mes Documents/BOB.pdf et le redimensionner pour qu’il tienne dans la cellule B1. De même en A2 avec « SAM », attacher SAM.pdf en cellule B2, et ainsi de suite jusqu’à 120 lignes. Est-ce possible ? Merci pour votre aide !!!
Configuration: Windows XP Internet Explorer 7.0
Enlaces relacionados:
- pausa en una macro de Excel
- ocultar filas según 2 condiciones mediante macro de Excel
- Archivo de macro personal que desaparece (excel 2010)
- Archivo de Excel con macro en Google Drive
- eliminar caracteres en una celda de Excel mediante macro VBA
- problema de macro de Excel con archivo compartido en OneDrive
3 respuestas
-
hola
me gustaría poder insertar en forma de icono
¿Qué icono quieres poner porque un archivo pdf no lo contiene?
¿No sería mejor un enlace hipertexto para abrirlo?
redimensionarlo para que quepa en la celda B1
¿Quieres que el nombre del archivo se vea completo?
Si es para ir siempre al mismo directorio, ¿para qué?
Si tienes "BOB" en una celda, también puedes abrir C://Mis Documentos/BOB.pdf, sin cambiar nada pero usando una pequeña macro o modificando tu celda para introducir un enlace hipertexto manualmente o por macro.
A ti nos dices.
--
Siempre zen -
De hecho, me gustaría elaborar una macro que haga automáticamente lo que se puede hacer manualmente: Insertar, Objeto, insertar como icono (y enlazar al archivo) un archivo que, en este caso, es un PDF.
Resulta que el nombre de los archivos a adjuntar es el mismo que el que se encuentra en las celdas de la primera columna, pero crear un enlace hipertexto no funcionaría en mi caso porque la libreta de Excel está destinada a viajar a varios equipos que no tendrán guardados los archivos PDF relativos al enlace.
¡Hum! Espero que esté lo bastante claro!!
¡gracias por vuestra ayuda!!! -
hola
Efectivamente esta vez es más claro para mí y te paso la macro que he codificado, para insertar en un módulo.
Uso Foxit para los pdf y tú reemplazas la ruta por tu lector de pdf que usesSub lier_pdf() Dim lig As Long Dim ico As String Dim nom As String Dim rep As String ' modificar con la ruta correcta ico = "C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe" rep = "C:\Mes documents\" For lig = 1 To Cells(1, 1).SpecialCells(xlCellTypeLastCell).Row nom = Cells(lig, 1).Value ActiveSheet.OLEObjects.Add( _ Filename:=rep & "\" & nom & ".pdf", _ Link:=True, _ DisplayAsIcon:=True, _ IconFileName:=ico, _ IconIndex:=0, _ IconLabel:=nom).Select Selection.Left = Cells(lig, 2).Left Selection.Top = Cells(lig, 2).Top Selection.Height = Cells(lig, 2).Height Selection.Width = Cells(lig, 2).Width Next lig End Sub
el libro de Excel está destinado a viajar a varios ordenadores que no tendrán guardados los archivos pdf relativos al enlace.
Aquí no estoy seguro en absoluto de que eso funcione porque lo que se guarda es un enlace y no el pdf en sí.
Entonces en otros pcs dudo que la apertura funcione a menos que integres los archivos implicados.
--
Siempre zen