Macro apertura file pdf



  • Macro apertura file pdf
    di elettronic data: 13/08/2016 15:06:49

    Ciao a tutti,
    avrei bisogno di una macro che mi permetta di aprire un file pdf in una pagina ben precisa.
    Ho provato diverse soluzioni ma tutte aprono il documento a pagina 1.
    Qulacuno puo' aiutarmi?



  • di Vecchio Frac data: 13/08/2016 20:51:15

    Bisogna vedere se esiste un visualizzatore pdf che espone qualche interfaccia COM da pilotare.
    Sll sito di Adobe comunque ho trovato questo tip interessante:
    Open a PDF file to a specific page
    To target an HTML link to a specific page in a PDF file, add #page=[page number] to the end of the link's URL.
    For example, this HTML tag opens page 4 of a PDF file named myfile.pdf:
    < a h r e f="h t t p://www.example.com/myfile.pdf#page=4"> < /a>

    (spazi inseriti di proposito per evitare l'interpretazione del tag dal parser del forum)

    Forse forse si riesce a fare qualcosa in VBA, con un controllo WebBrowser.





  • di alfrimpa data: 13/08/2016 21:52:30

    Ciao elettronic ed un saluto a Vecchio Frac.

    Prova a dare uno sguardo a questo link magari trovi qualche spunto; ora sono fuori e non ho il pc per provare.

    h t t p://forum.masterdrive.it/microsoft-office-access-vba-23/aprire-file-pdf-pagina-specifica-49612/

    Alfredo

    Oops mi sono accorto solo ora che si parla di Access ma forse va bene anche per Excel





  • di elettronic data: 14/08/2016 07:46:32

    Mi serviva una macro per un file powerpoint, avevo usato questo codice, ma apre il file a pagina 1,
    Non riesco a capire dove sta l'errore.


     
    Private 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
    
    Sub Aprifile()
        Dim X As Long
        Dim strPath, strParam As String
    
    On Error Resume Next
        
        strPath = "percorso file"
        strParam = " /A " & Chr(34) & "page=3" & Chr(34) & strPath
          
        X = ShellExecute(0, "Open", "AcroRd32.exe", strParam, "", 1)
    End Sub



  • di Vecchio Frac data: 14/08/2016 10:07:46

    Puoi usare Shell, ma il parametro /A va messo dopo l'eseguibile.

    Sub test()
    Shell """c:programmiadobeacrobat reader dc eaderacrord32.exe"" /a ""page=5"" ""c:users omeutentedocumentsdocumento.pdf"""
    End Sub

    Naturalmente in questo esempio devi puntare ai percorsi corretti.
    E infatti non è una pratica molto corretta (però non ShellExecute non sono riuscito, forse per la fretta).





  • di Vecchio Frac data: 14/08/2016 10:12:31

    Mi correggo: eccoti la soluzione con ShellExecute.
    In pratica esegui AcroReader e gli passi tutto, anche il nome di file, come parametro.


     
    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
       
    
    Sub test()
        ShellExecute 0, "open", "acrord32.exe", "/a ""page=5"" ""c:users
    omeutentedocumentsmiofile.pdf"" ", "", 1
    End Sub






  • di elettronic data: 14/08/2016 14:39:39

    Grazie...funziona.
    E se adesso volessi inserire un messaggio di errore oppure un controllo sulla presenza o meno del file di pu0o' fare qualcosa???



  • di Vecchio Frac data: 14/08/2016 15:10:38

    Certo che si può fare, devi testare l'esistenza del file prima di richiamarlo.
    Il modo più semplice in assoluto, e anche quello che dà meno garanzie, è Dir():
    if Dir(nomefilecompletodipercorso) <> "" then
    'il file esiste
    ShellExecute eccetera
    else
    msgbox "Non trovo il file pdf da aprire!"
    end if





  • di elettronic data: 14/08/2016 15:25:54

    Mi da errore di sintassi...



  • di elettronic data: 14/08/2016 15:29:11

    Ok, corretta, se invece volessi svincolare la macro dal path corretto ma mettere solo il nome file???
    Ovvero se per un motivo sposto la cartella del progetto su un altro pc sono costretto a mettere i file in quel percorso altrimenti non li trovero' mai. Posso quindi creare una macro che cerchi il file e lo apra ma non sia necessariuamente vincolata al path.
    Grazie



  • di Vecchio Frac data: 14/08/2016 15:49:22

    Ci sono almeno quattro interpretazioni diverse della tua frase.
    Chiarisci la tua idea per cortesia e spiegati meglio.





  • di elettronic data: 18/08/2016 13:00:46

    Mi corrego, con queste macro sono costretto a meeter i file pdf. nel percorso indicato, se invece volessi creare una macro che apre il file che pero' si trova in un posto generico del disco.

    Seconda domanda: Ho provato a cambiare il mouse icon scegliedo custom e selezionando una immagine tra quelle disponibili, ma viene fuori la scritta invalid picture, come mai? bisogna installare o aggiornare qualcosa?

    Grazie



  • di Vecchio Frac data: 18/08/2016 13:51:28

    cit. " se invece volessi creare una macro che apre il file che pero' si trova in un posto generico del disco"
    ---> Allora ti consiglio una finestra di dialogo di selezione file per dar modo all'utente di sceglierlo di volta in volta. Qualcosa tipo questo:
    set v = application.FileDialog(msoFileDialogFilePicker )


    Per il mouse icon, parli di un userform o del puntatore del mouse generico di Excel?





  • di elettronic data: 18/08/2016 17:21:55

    Esatto, parlo della user form, quando avvicino il mouse ad un command button voglio che diventi quello dell'immagine scelta ma nella lista di immagini che posso scegliere ne funzionano solo alcuni e quelli che mi servono no :(

    P.S. Per creare una macro che apra un file tipo Jpg, devo cambiare istruzione? E possibile anche settare come deve essere aperta l'immagine?



  • di elettronic data: 24/08/2016 08:58:15

    Ho provato a cambiare il mouse icon scegliendo custom e selezionando una immagine tra quelle disponibili, ma viene fuori la scritta invalid picture, come mai? bisogna installare o aggiornare qualcosa?

    Grazie







  • di elettronic data: 14/09/2016 08:20:08

    Salve, sono rimasto un po in sopseso con l'ultima domanda ovvero:

    1) macro per aprire un file jpg.

    2) comando per aprire il file immagine con determinate caratteristiche (ade esmpio full size o zoom 100%)

    Grazie.