Inserción de archivos pdf en EXCEL mediante macro

Jeremie31 -  
 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

3 respuestas

  1. gbinforme Mensajes publicados 14930 Fecha de registro   Estado Colaborador Última intervención   4 744
     
    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
    0
  2. Jeremie31
     
    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!!!
    0
  3. gbinforme Mensajes publicados 14930 Fecha de registro   Estado Colaborador Última intervención   4 744
     
    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 uses
    Sub 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
    0
    1. Jeremie31
       
      primero gracias por la primera macro!!

      Entonces en otros micro-módulos dudo mucho que la apertura se haga a menos que integres los archivos correspondientes

      ¿Cómo puedo hacer para que la integración se realice?

      muchas gracias de nuevo
      0
    2. user
       
      hola
      creo que hay que copiar tus archivos pdf en todos los micros !!
      0