Condividi:        

Collegamenti Ipertestuali !?

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Collegamenti Ipertestuali !?

Postdi CIAN » 19/03/15 18:53

Ciao ragazzi gentilmente qualcuno conosce il modo per creare dei collegamenti ipertestuali dinamici tramite VBA?!
Ho un foglio Excel dove nella colonna "B" del primo foglio inserisco dei codici di disegno che collego "manualmente" tramite collegamento ipertestuale al rispettivo disegno in formato .pdf che si trova all'interno del Pc.
Siccome i disegni sono centinaia, stavo cercando il modo di fare tutto ció in automatico.
In modo che se per esempio nella cella inserisco il cod. disegno: ABC-01 questo va a collegarsi al corrispettivo disegno ABC-01 senza che debba fare il collegamento manualmente.
I codici che inserisco nelle celle sono uguali ai codici dei corrispettivi disegni.
Un utente di un altro forum mi ha proposto questa macro:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("a:a")) Is Nothing Then
If Target = "" Then End
ActiveSheet.Hyperlinks.Add Anchor:=ActiveCell.Offset(-1, 0), Address:= _
"C:\Excel\" & Target.Value, TextToDisplay:=Target.Value
End If
End Sub


Il problema di questa macro è che mi tocca scrivere alla fine del codice .pdf, e purtroppo non possa fare così ("per ordini superiori"), deve essere visibile solo il codice ovvero, per esempio: ABC-01 e non ABC-01.pdf.
Altro problema è che mi capita spesso di fare copia incolla delle stesso codice all'interno dello stesso foglio (copio ed incollo solo ed esclusivamente nella colonna "B"), ma quando lo faccio mi compare un errore di Run-time di tipo 13.
In sostanza vorrei essere libero di cancellare, incollare, inserire i codici liberamente e che questi si colleghino ai rispettivi disegni senza che ci siano problemi, finestre di errori & co.
Ultima cosa, in un altro foglio sempre nella colonna "B" all'interno della stessa cartella di lavoro, ho i codici dei disegni che si generano in automatico, dalla colonna "B" del primo foglio (se può servire sono intervallati da 13 righe vuote, nel secondo foglio); gentilmente chiedo se è possibile far si che anche questi codici presentino il collegamento ipertestuale.
Spero di essere stato abbastanza chiaro e che qualcuno possa aiutarmi.
Intanto vi ringrazio, raga! ;)
Vi ho riportato una specie di schemino su un file Excel, ve lo linko per farvi capire meglio il mio problema:
http://ge.tt/3z3oeYC2/v/0?c
CIAN
Newbie
 
Post: 3
Iscritto il: 19/03/15 18:11

Sponsor
 

Re: Collegamenti Ipertestuali !?

Postdi Flash30005 » 20/03/15 06:19

Non ho capito a cosa serva il collegamento Hiperlink
Se vuoi aprire il file Pdf del disegno puoi non usare l'hiperlink ma una macro come questa
da inserire nel Vba del foglio2
Codice: Seleziona tutto
Public Sub ExecuteFile(FilePath As String, Stile As VBA.VbAppWinStyle)
    ApriPdf = Shell("rundll32.exe url.dll,FileProtocolHandler " & (FilePath), Stile)
    Exit Sub
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("B:B")) Is Nothing Then
 If Target = "" Then End
 Perc = "C:\Excel\"
 Call ExecuteFile(Perc & Target.Value & ".pdf", vbMaximizedFocus)
 ActiveCell.Offset(0, 1).Select
End If
End Sub


Al doppio click del mouse si apre il disegno corrispondente
Modifica il percorso, dei file .pdf, (Perc) nella macro se diverso

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Collegamenti Ipertestuali !?

Postdi CIAN » 20/03/15 18:19

Flash30005 ha scritto:Non ho capito a cosa serva il collegamento Hiperlink
Se vuoi aprire il file Pdf del disegno puoi non usare l'hiperlink ma una macro come questa
da inserire nel Vba del foglio2
Codice: Seleziona tutto
Public Sub ExecuteFile(FilePath As String, Stile As VBA.VbAppWinStyle)
    ApriPdf = Shell("rundll32.exe url.dll,FileProtocolHandler " & (FilePath), Stile)
    Exit Sub
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("B:B")) Is Nothing Then
 If Target = "" Then End
 Perc = "C:\Excel\"
 Call ExecuteFile(Perc & Target.Value & ".pdf", vbMaximizedFocus)
 ActiveCell.Offset(0, 1).Select
End If
End Sub


Al doppio click del mouse si apre il disegno corrispondente
Modifica il percorso, dei file .pdf, (Perc) nella macro se diverso

Ciao



Ciao Flash, ti ringrazio davvero per la tua riposta, la macro che mi hai proposto funziona benissimo!
L'unico problema è che tutti i valori si generano tramite le formule (senza VBA), fuorché la colonna B del primo foglio, dato che sono valori che inserisco manualmente; quindi quando vado a cliccare 2 volte, nelle celle della colonna B del secondo foglio, mi si apre la finestra per modificare la formula di Excel.

Scusami, probabilmente ho omesso di dirtelo...
CIAN
Newbie
 
Post: 3
Iscritto il: 19/03/15 18:11

Re: Collegamenti Ipertestuali !?

Postdi Flash30005 » 20/03/15 23:17

hai inviato un file di esempio e io su quello ho lavorato, perché non hai inviato un file più simile all'originale?

Non ho capito
1) cosa vorresti avere, disponibilità del disegno e dove vorresti cliccare per visualizzarlo (foglio1 o foglio2)
2) se non ti funziona come vorresti (inizialmente dici che la macro va bene)

Forse è opportuno che riformuli il quesito prestando attenzione ad essere più preciso e, meglio se con un file corrispondente alla vera realtà.

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Collegamenti Ipertestuali !?

Postdi CIAN » 22/03/15 14:11

Ciao, il file che ti ho inviato è un perfetto esempio!
L'unica cosa che forse non ho spiegato è che nel primo foglio, i codici li scrivo manualmente e con la Macro che mi hai proposto funziona tutto perfettamente.
Nel secondo foglio tutte le informazioni che mi interessano sono generate dal primo foglio tramite la funzione CERCA VERT. , utilizzata senza il VBA...
Quindi quando vado a cliccare due volte nelle celle del secondo foglio per visualizzare il pdf mi si apre la finestra di modifica della formula....

Ti posto un file Excel, per farti capire:
http://ge.tt/6EskqiC2?c

Scusami ancora, se non stato chiaro!
CIAN
Newbie
 
Post: 3
Iscritto il: 19/03/15 18:11


Torna a Applicazioni Office Windows


Topic correlati a "Collegamenti Ipertestuali !?":


Chi c’è in linea

Visitano il forum: Nessuno e 59 ospiti