Hipervínculo

Hola de nuevo telemaco mi pregunta es la siguiente:
Si yo creo la ruta completa de un archivo con extensión incluida (Ejemplo: C:\mis documentos\123 dfr ejdun 34.doc) en un campo de texto de un formulario, puedo registrar los datos en una tabla de manera que me cree un hipervínculo. Yo lo he intentado pero en la columna de la tabla con la función de hipervínculo no me sale.
Como ves estoy con el mismo rollo.
Gracias anticipadas
Espero tu respuesta un saludo

1 Respuesta

Respuesta
1
Yo te diría lo siguiente, el campo es un tipo de datos texto, ahora NO UTILICE HIPERVÍNCULOS... más bien utilice la función que te daré que sirve para abrir cualquier archivo o programa... deberías utilizarlo en el evento click o mejor Doble click de la caja de texto:
Coloca esto en general del formulario:
*****************************
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
*****************************
Y para usarla simplemente :
dim res as long
res = ShellExecute(Me.hwnd, "Open", "c:\documento.doc","", "", 1)
****************************
Ahora donde esta "c:\documento.doc"... cambiarías por el texto de la caja de texto, pero controla que existan datos...
*****************************
If Not Isnull(MiCaja) and MiCaja <> "" then
ShellExecute(Me.hwnd, "Open", MiCaja.Value,"", "", 1)
end if
*************************
MiCaja es el nombre de la caja de texto que trabajas...
Att:telemaco
Hola telemaco,
Así es como lo tengo:
Option Compare Database
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
Private Sub HIPERVINCULO_DblClick(Cancel As Integer)
Dim res As Long
res = ShellExecute(Me.hwnd, "Open", "HIPERVINCULO", "", "", 1)
End Sub
If Not IsNull(hipervinculo) And hipervinculo <> "" Then
ShellExecute(Me.hwnd, "Open", hipervinculo.Value,"", "", 1)
End If
Esto me da error y se me marca en rojo lo siguiente:
ShellExecute(Me.hwnd, "Open", hipervinculo.Value,"", "", 1)
No tengo ni idea si estoy haciendo algo mal.
El campo hipervínculo es un campo de texto y le he puesto el evento al hacer doble click.
Un Saludo y espero tu ayuda
A mí no me sale. ¿Me podrías mandar también un ejemplo para ver en que me estoy equivocando?
Un saludo
Pero según lo que me muestras CERRASTE EL PROCEDIMIENTO (con end Sub) Y LUEGO COLOCASTE CÓDIGO POR FUERA DEL PROCEDIMIENTO, ESTO ES UN ERROR:
Dim res As Long
res = ShellExecute(Me.hwnd, "Open", "HIPERVINCULO", "", "", 1)
......
End Sub
If Not IsNull(hipervinculo) And hipervinculo <> "" Then
ShellExecute(Me.hwnd, "Open", hipervinculo.Value,"", "", 1)
End If
Despues del end sub, tienes codigo PERO NO ESTA EN NINGUN PROCEDIMINETO, NI FUNCION, NI EVENTO ... por eso te da error, segun lo que me dices debes colocarlo asi:
******************
Private Sub HIPERVINCULO_DblClick(Cancel As Integer)
If Not IsNull(hipervinculo) And hipervinculo <> "" Then
ShellExecute(Me.hwnd, "Open", hipervinculo.Value,"", "", 1)
End If
End Sub
**********************
TE SOBRA LO DE:
Dim res As Long
res = ShellExecute(Me.hwnd, "Open", "HIPERVINCULO", "", "", 1)
att:telemaco
Se que me has mandado un email, y sino estoy mal de hotmail, no se si te llego el anterior pero te pido que sea de yahooo, u otro que no sea hotmail...
Y te lo envío, ¿listo?
Att:telemaco
Vale mándamelo a este: [email protected]
Gracias infinitas por tu ayuda
Listo, ya te envíe el archivo...
Me avisas como te fue..
Att:telemaco
No se te olvide finalizar la pregunta...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas