Como crear un botón hipervínculo que al mismo tiempo usar la función Filecopy

Necesito crear un botón que al darle clic me de la opción examinar para ir a buscar un archivo y al encontrarlo y seleccionarlo me genere una copia de dicho archivo en una carpeta y me deje en otro botón el hipervínculo para poder abrir el archivo posteriormente

2 respuestas

Respuesta
2

Vamos a ver si me explico. Lo primero de todo e importantísimo. Con la base abierta abre el editor de VB y pulsa Herramientas-Referencias y activa la casilla Microsoft Office XX.X Object Library

Lo de XX. X es por la versión del Office que tengas instalada.

Luego en un formulario le añades dos cuadros de texto( se podrán suprimir pero creo que es mejor que veas como funciona)

Cuando pongo el cursor en el cuadro de texto Texto0, se abre un "explorador" para que localice el archivo que me interesa

Puedes ver que el archivo está en la carpeta Borrar y le voy a decir que me copie Feliz.bmp en la carpeta BasesPracticas. Cuando lo selecciono

Es decir, me pasa al cuadro de texto la ruta a ese archivo. Le he puesto el cuadro de texto S para que veas como "recorta" el nombre del archivo y

Me ha copiado ese archivo en la carpeta antes citada.

Si luego pulso el botón

Se abre el archivo Feliz.bmp

El código que tienes que copiar en tu editor de Vb es

Public Function buscaArchivo() As String
Dim fDialog As Office.FileDialog
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
.AllowMultiSelect = False
.ButtonName = "Seleccionar"
.Title = "Seleccionar el archivo"
.InitialFileName = Application.CurrentProject.Path
.InitialView = msoFileDialogViewDetails
.Filters.Clear
.Filters.Add "All files", "*.*"
If .Show = True Then
buscaArchivo = .SelectedItems(1)
Else
MsgBox "Ha pulsado el botón <Cancelar>."
End If
End With
End Function
Private Sub Comando4_Click()
Application.FollowHyperlink Texto0
End Sub
Private Sub Texto0_Click()
Texto0 = buscaArchivo()
S = Mid([Texto0], InStrRev([Texto0], "\") + 1)
FileCopy Texto0.Value, "c:\users\cabarcos\documents\basespracticas\" & S.Value & ""
End Sub

Es decir, uso la función Filedialog( para eso es lo de activar la referencia)y le digo que texto0 sea igual a la función. Que S sea la parte derecha de la ruta hasta la barra /. Y que copie ese archivo en la carpeta de la segunda ruta y con el mismo nombre.

Respuesta

I. Hola Jonathan, no puedo darle una respuesta concreta, pero pienso que de estos tutoriales podrá extraer una parte importante de la información que desea encontrar, disculpe lo impreciso.

https://www.extendoffice.com/es/documents/excel/4301-excel-hyperlink-command-button.html 

https://www.youtube.com/watch?v=I0TgmSiNtwg 

https://computerhoy.com/video/como-crear-hipervinculos-celdas-hojas-excel-33571 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas