Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Inserire file tramite bottone

Ultimo Aggiornamento: 29/04/2018 10:19
Post: 3
Registrato il: 02/11/2011
Città: PACHINO
Età: 42
Utente Junior
2013
OFFLINE
27/04/2018 23:04

Salve io vorrei che tramite un bottone, mi si aprisse una cartella del mio pc dove ho tutti file pdf e, una volta selezionato, mi creasse un collegamento ipertestuale all'interno di una tabella.
Vi ringrazio anticipatamente per capirci meglio visto che non so spiegarlo bene allego il file. Buona serata
[Modificato da bumics81 27/04/2018 23:13]
Post: 3.395
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
28/04/2018 07:10

Un bottone è facile, però il nome del file.pdf non è scritto
Ex in riga2, ci deve essere una cella simile ad (1 o 1.pdf). In quale colonna?
Oppure intendi ...(per ogni files.pdf di "quella Directory" fargli un collegamento?)
Excel 2013
Post: 2.851
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
28/04/2018 12:17

Buona giornata, bumics81;
dividerei la tua richiesta in due fasi.
1)
@bumics81, scrive:

...io vorrei che tramite un bottone ...


Vedi immagine allegata ...  

2)
@bumics81, scrive:

...si aprisse una cartella del mio pc dove ho tutti file pdf e, una volta selezionato, mi creasse un collegamento ipertestuale all'interno di una tabella.


Il Codice VBA è abbastanza semplice ma dovresti precisare quello che ti ha chiesto @raffaele1953.


Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 684
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
28/04/2018 17:05

Un saluto a tutti.

Per quanto richiesto, dato che non vedo la necessità di un apposito bottone, propongo la gestione dell'evento BeforeDoubleClick con la sola necessità di formattare la colonna K un po' più larga del nome documento più lungo in modo da permettere ulteriori modifiche.
Un esempio di macro da attivare facendo DoppioClick nella cella interessata e da mettere nel Modulo del Foglio che contiene la tabella potrebbe essere:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim Percorso As String
    Dim x As Integer
    Dim NomeFile As String
    
    If Not Intersect(Target, Range("K:K")) Is Nothing Then
        Cancel = True       'inibisci la modalità modifica
        'sfoglia e ricava il percorso e nome del file pdf
        Percorso = Application.GetOpenFilename("File,*.pdf", Title:="Apri il file PDF")
        'segnala in caso di abbandono ricerca
        If Percorso = "Falso" Then
            MsgBox "Comando Apri annullato volontariamente", vbOKOnly + vbInformation
            Exit Sub
        End If
        'ricava il nome del file senza estensione
        For x = Len(Percorso) To 1 Step -1
            If Mid(Percorso, x, 1) = "\" Then
                NomeFile = Right(Percorso, (Len(Percorso) - x))
                Exit For
            End If
        Next x
        NomeFile = Left(NomeFile, InStr(NomeFile, ".") - 1)
        'verifica ed elimina eventuale iperlink già presente
        If Target.Hyperlinks.Count > 0 Then Target.Hyperlinks.Delete
        'inserisci l'iperlink nella cella
        Target.Hyperlinks.Add Anchor:=Target, Address:=Percorso, TextToDisplay:=NomeFile
    End If
    
End Sub
PS. la limitazione alla sola colonna K era rimasta nella penna [SM=g27819] .
[Modificato da rollis13 28/04/2018 23:41]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 3
Registrato il: 02/11/2011
Città: PACHINO
Età: 42
Utente Junior
2013
OFFLINE
28/04/2018 18:05

Grazie a tutti per avermi risposto..sicuramente mi sono spiegato male...nel file che ho allegato ho creato una userform per inserimento dati all'interno di una tabella che ho creato nel foglio1..l'inghippo è nato quando nella casella di testo "documento"volevo associare un bottone che mi varicasse un pdf all'interno del mio computer e caricare il link all'interno della casella di testo in modo che quando vado a premere il bottone inserisci tutti questi dati me li va ad inserire nella tabella del foglio 1....tutto questo sono riuscito a farlo tranne che x il documento...spero che sono stato più chiaro[SM=g27820] ...ciao e grazieee
Post: 685
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
28/04/2018 22:02

E pensare che pensavo d'aver 'quasi' capito la richiesta del post #1, ora non so più che balena pescare [SM=g27816].

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 4
Registrato il: 02/11/2011
Città: PACHINO
Età: 42
Utente Junior
2013
OFFLINE
28/04/2018 22:48

[SM=x423030]
Post: 5
Registrato il: 02/11/2011
Città: PACHINO
Età: 42
Utente Junior
2013
OFFLINE
28/04/2018 22:50

Nel file c'è una userform chiamata ospite..l'ha vista?
Post: 686
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
28/04/2018 23:36

Certamente, bisogna sempre avere una visione completa del progetto prima poter prendere delle iniziative.

Ma non è che tutto quello che ti serviva era popolare il campo Textdocumento del Form con un Iperlink [SM=g27833]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 2.852
Registrato il: 03/04/2013
Utente Veteran
Excel 2000 - 2013
OFFLINE
29/04/2018 06:55

Buona giornata, bumics81;
nel caso in cui i File .pdf non siano più di una ventina, si potrebbe pensare ad una ListBox, che nei miei test ho denominato Lista_PDF, alimentata automaticamente, inserita in UserForm.

Una cosa di questo genere:
Private Sub UserForm_Initialize()
Application.ScreenUpdating = False
Dim Rcd As Integer
Dim Nome As String
Const MiaPath As String = "C:\pdf\"   'Indica la tua directory

    ChDir MiaPath
        Rcd = 1
    Nome = Dir("*.pdf*")
        If Nome = "" Then Exit Sub
            While Nome <> ""
                Lista_PDF.AddItem Nome
                ActiveCell.Value = Nome
                    Nome = Dir
                    Rcd = Rcd + 1
            Wend
Application.ScreenUpdating = True
End Sub


Selezionando il File da ListBox verrebbe alimentato il Campo in Colonna "K" con Hyperlinks del File; questa azione andrebbe completata con un Evento del tipo "Private Sub Lista_PDF_Change()"
Nel caso in cui il numero di File .pdf sia ragguardevole, si potrebbe sostituire ListBox con ComboBox; il risultato sarebbe analogo.

Se questa proposta può essere interessante, possiamo approfondire.



A disposizione.

Buon fine settimana.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 6
Registrato il: 02/11/2011
Città: PACHINO
Età: 42
Utente Junior
2013
OFFLINE
29/04/2018 10:18

Si Rollis13....volevo dire proprio questo [SM=x423030] e poi quando salvo i dati mi salva sulla tabella anche l'iperlink
Post: 7
Registrato il: 02/11/2011
Città: PACHINO
Età: 42
Utente Junior
2013
OFFLINE
29/04/2018 10:19

Grazie Giuseppe...volevo quello che ha detto Rollis
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
macro visual basic (4 messaggi, agg.: 24/07/2018 09:21)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 01:47. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com