Condividi tramite

CODICE VBA PER CREARE LINK COLLEGAMENTO A FILE ESTERNO

Anonimo
2019-06-08T17:45:53+00:00

Ciao a tutti,

sono sempre alle prese con il mio dbase e questa sera vi pongo un problema di cui non ho trovato nulla che faccia per il mio caso.

Premetto:

ho una tabella FINANZIAMENTI così articolata:

da questa tabella, ho creato una maschera di inserimento dati qui rappresentata

Ciò che vorrei fare riguarda il campo ATTO_FINAN (evidenziato in rosso nella maschera)

dove inserisco gli estremi dell'atto di concessione del finanziamento specifico.

Ora, oltre che inserire gli estremi dell'atto, vorrei avere la possibilità, mediante un doppio click, di poter visualizzare l'atto di concessione (generalmente in formato PDF) allocato in percorsi diversi (anche server)....

Naturalmente se necessario posso creare apposite cartelle allocate nello nella stessa ditectory del dbase, l'interessante che il percorso venga memorizzato per ogni singolo  finanziamento, il cui file .PDF può essere diverso per ogni finanziamento.

Spero di essere stato chiaro, e come al solito confido nel vostro aiuto.

Ciao a tutti

Luca

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2019-06-11T09:46:55+00:00

Ciao Luca,

prova con:

Private Sub Apri_file_Click()

If Len(Me.PERCORSO_FILE & "") = 0 Then

    MsgBox "Il file non esiste", vbInformation

Else

    openFileName Me.PERCORSO_FILE   

    End If

End Sub

Ciao Mimmo

La risposta è stata utile?

4 persone hanno trovato utile questa risposta.
0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2019-06-11T10:02:01+00:00

ciao Luca,

diverse soluzioni ad esempio :

Private Sub Apri_file_Click()

On Error Resume Next

openFileName strFullPath:=Me.PERCORSO_FILE

If Len(Me.PERCORSO_FILE & vbNullString) = 0 Then

    VBA.MsgBox prompt:="Nessun file da aprire", _

               buttons:=vbCritical, _

               Title:="Warning...!"

End If

On Error GoTo 0

end sub 

usare e non abusare dell' on error resume next, in questo caso essendoci poche istruzioni  e il pulsante adibito alla sola apertura del file puo' andare bene.

on error goto 0 potrebbe essere omesso ma e' maggiormente significativo impostarlo per fare capire che on error resume next e' gestito correttamente e cum grano salis

altra opzione :

Private Sub Apri_file_Click()

If Len(Me.PERCORSO_FILE & vbNullString) = 0 Then

    VBA.MsgBox prompt:="Nessun file da aprire", _

               buttons:=vbCritical, _

               Title:="Warning...!"

    Exit Sub

End If

openFileName strFullPath:=Me.PERCORSO_FILE

end sub 

uscire forzatamente dalla routine qualora il file non sia presente, mostrando come nel caso precedente, un messaggio di avviso.

HTH.

Ciao, Sandro.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2019-06-10T13:16:37+00:00

Ciao Luca,

cambia come segue :

Private Sub AllegaFile_Click()

Dim dialog As Object ' FileDialog

Set dialog = Application.FileDialog(3) 'msoFileDialogFilePicker

    With dialog

        .AllowMultiSelect = False

        If .Show Then

Me.PERCORSO_FILE = .SelectedItems.Item(1)

Else

Me.PERCORSO_FILE = Null

End If

    End With

End Sub

nota anche il lateBinding.

Ciao, Sandro.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

10 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2019-06-10T08:25:43+00:00

    ciao Luca,

    inserisci un campo nella tabelle che mostri con il finel di memorizzare il fullPath del file ( fullPath= percorso del file + nome competo del file con estensione).

    Per memorizzarlo, mi pare di capire che si tratta di un solo file, utilizza un fileDialog, trovi il codice completo su siti MS e anche qui effettuando una ricerca nel forum.

    Per aprire poi il file, lo stesso, trovi una serie infinita di info nel forum.

    Se hai problemi….al solito batti un colpo…!

    facci sapere.

    HTH.

    Sandro.

    Ciao Sandro,

    grazie del suggerimento ... ho fatto una ricerca più mirata ed ho trovato quello che cercav risolvendo il problema in questo modo:

    Ho aggiunto un campo PERCORSO_FILE alla mia tabella, di tipo testo.

    Sulla maschera ho aggiunto un pulsante (AllegaFile) a cui ho associato il codice che riporto sotto all'evento click:

    Private Sub AllegaFIle_Click()

    Dim dialog As FileDialog

    Set dialog = Application.FileDialog(msoFileDialogFilePicker)

        With dialog

            .AllowMultiSelect = False

            .Show

            Me.PERCORSO_FILE = .SelectedItems.Item(1)

        End With

    End Sub

    e questo mi consente di scegliere il file che verrà memorizzato nel campo PERCORSO_FILE

    Sulla casella di testo PERCORSO_FILE della maschera, infine, ho inserito, sull'evento doppio click il seguente codice

    Private Sub PERCORSO_FILE_DblClick(Cancel As Integer)

    Dim valore As String

        valore = PERCORSO_FILE.Value

        Me.Application.FollowHyperlink Address:=valore, NewWindow:=True

    End Sub

    questo mi consente di aprire il file di cui avevo registrato il percorso con il pulsante AllegaFile.

    Tutto funziona alla grande, salvo che, se mi fossi sbagliato nel cliccare il pulsante per individuare il percorso del file e vorrei annullare l'operazione il sistema mi restituisce il seguente messaggio di errore:

    Come potrei bypassare questo inconveniente, magari mediante un msgbox "Operazione annullata" ?

    Grazie

    Luca

    ALLEGO: Maschera

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2019-06-08T18:07:06+00:00

    ciao Luca,

    inserisci un campo nella tabelle che mostri con il finel di memorizzare il fullPath del file ( fullPath= percorso del file + nome competo del file con estensione).

    Per memorizzarlo, mi pare di capire che si tratta di un solo file, utilizza un fileDialog, trovi il codice completo su siti MS e anche qui effettuando una ricerca nel forum.

    Per aprire poi il file, lo stesso, trovi una serie infinita di info nel forum.

    Se hai problemi….al solito batti un colpo…!

    facci sapere.

    HTH.

    Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento