Boa tarde,
Após busca neste fórum encontrei o seguinte tópico: 'https://www.maximoaccess.com/t26576-como-campo-texto-e-hiperlink-num-so-campo-no-relatorio-access
que resolveu minha questão que era converter campo texto em campo hiperlink e poder abrir o arquivo a ele associado, isso no Access 2003, mas quando fui usar a mesma rotina no Access 2013, não funcionou, ou seja, ao clicar no botão para inserir o arquivo (PDF, JPG,PNG, etc) simplesmenta nada acontece, nem mesmo mensagem de erro, no modo Design ou no modo de execução.
A rotina utilizada é a seguinte:
Private Sub InserirArquivo_Click() 'Insere caminho do arquivo para Drive em Rede (Google Drive)
Dim strCaminho As String, strPastaInicial As String
strPastaInicial = "G:\Drives Compartilhados\ARGUS\ARGUS\11.ANALISE\Anexos"
strCaminho = Buscar2(Me.hWnd, "Localizar Arquivo", strPastaInicial, _
"(*.pdf; *.jpg; *.png; *.xls; *.gif; *.bmp)" & vbNullChar & "*.pdf; *.jpg; *.png; *.xls; *.gif; *.bmp")
If Len(strCaminho) > 0 Then
Me.CaminhoLink = strCaminho ‘Campo Tipo Texto
Me.LinkArquivo = strCaminho ‘Campo Tipo Hiperlink
End If
Private Sub AbreLink_Click() 'Abre arquivo convertido de Campo Texto para Campo Hiperlink
FollowHyperlink Replace(Me!CaminhoLink, "#", "")
End Sub
Public Function Buscar2(lngHwnd As Long, strTítulo As String, strPastaInicial As String, strFiltro As String) As String
Dim filebox As OPENFILENAME
Dim result As Long
With filebox
.lStructSize = Len(filebox)
.hwndOwner = lngHwnd
.hInstance = 0
.lpstrFilter = strFiltro & vbNullChar & _
"Todos os Arquivos (*.*)" & vbNullChar & "*.*" & vbNullChar & vbNullChar
.nMaxCustomFilter = 0
.nFilterIndex = 1
.lpstrFile = Space(256) & vbNullChar
.nMaxFile = Len(.lpstrFile)
.lpstrFileTitle = Space(256) & vbNullChar
.nMaxFileTitle = Len(.lpstrFileTitle)
.lpstrInitialDir = strPastaInicial & vbNullChar
.lpstrTitle = strTítulo & vbNullChar
.flags = OFN_PATHMUSTEXIST Or OFN_FILEMUSTEXIST Or OFN_HIDEREADONLY
.nFileOffset = 0
.nFileExtension = 0
.lCustData = 0
.lpfnHook = 0
End With
result = GetOpenFileName(filebox)
If result <> 0 Then
Buscar2 = Left(filebox.lpstrFile, InStr(filebox.lpstrFile, vbNullChar) - 1)
Else
Buscar2 = ""
End If
End Function
Referências marcadas:
Visual Basic For Applications
Microsoft Access 15.0 Object Library
OLE Automation
Microsoft DAO 3.6 Object Library
Microsoft Office 15.0 Object Library
Microsoft ActiveX Data Objects 2.5 Library
Microsoft Scripting Runtime
Microsoft CDO for Windows 2000 Library
Microsoft Word 15.0 Object Library
Então pergunto: Faltaria marcar alguma Referência? ou seria outra coisa ?
Após busca neste fórum encontrei o seguinte tópico: 'https://www.maximoaccess.com/t26576-como-campo-texto-e-hiperlink-num-so-campo-no-relatorio-access
que resolveu minha questão que era converter campo texto em campo hiperlink e poder abrir o arquivo a ele associado, isso no Access 2003, mas quando fui usar a mesma rotina no Access 2013, não funcionou, ou seja, ao clicar no botão para inserir o arquivo (PDF, JPG,PNG, etc) simplesmenta nada acontece, nem mesmo mensagem de erro, no modo Design ou no modo de execução.
A rotina utilizada é a seguinte:
Private Sub InserirArquivo_Click() 'Insere caminho do arquivo para Drive em Rede (Google Drive)
Dim strCaminho As String, strPastaInicial As String
strPastaInicial = "G:\Drives Compartilhados\ARGUS\ARGUS\11.ANALISE\Anexos"
strCaminho = Buscar2(Me.hWnd, "Localizar Arquivo", strPastaInicial, _
"(*.pdf; *.jpg; *.png; *.xls; *.gif; *.bmp)" & vbNullChar & "*.pdf; *.jpg; *.png; *.xls; *.gif; *.bmp")
If Len(strCaminho) > 0 Then
Me.CaminhoLink = strCaminho ‘Campo Tipo Texto
Me.LinkArquivo = strCaminho ‘Campo Tipo Hiperlink
End If
Private Sub AbreLink_Click() 'Abre arquivo convertido de Campo Texto para Campo Hiperlink
FollowHyperlink Replace(Me!CaminhoLink, "#", "")
End Sub
Public Function Buscar2(lngHwnd As Long, strTítulo As String, strPastaInicial As String, strFiltro As String) As String
Dim filebox As OPENFILENAME
Dim result As Long
With filebox
.lStructSize = Len(filebox)
.hwndOwner = lngHwnd
.hInstance = 0
.lpstrFilter = strFiltro & vbNullChar & _
"Todos os Arquivos (*.*)" & vbNullChar & "*.*" & vbNullChar & vbNullChar
.nMaxCustomFilter = 0
.nFilterIndex = 1
.lpstrFile = Space(256) & vbNullChar
.nMaxFile = Len(.lpstrFile)
.lpstrFileTitle = Space(256) & vbNullChar
.nMaxFileTitle = Len(.lpstrFileTitle)
.lpstrInitialDir = strPastaInicial & vbNullChar
.lpstrTitle = strTítulo & vbNullChar
.flags = OFN_PATHMUSTEXIST Or OFN_FILEMUSTEXIST Or OFN_HIDEREADONLY
.nFileOffset = 0
.nFileExtension = 0
.lCustData = 0
.lpfnHook = 0
End With
result = GetOpenFileName(filebox)
If result <> 0 Then
Buscar2 = Left(filebox.lpstrFile, InStr(filebox.lpstrFile, vbNullChar) - 1)
Else
Buscar2 = ""
End If
End Function
Referências marcadas:
Visual Basic For Applications
Microsoft Access 15.0 Object Library
OLE Automation
Microsoft DAO 3.6 Object Library
Microsoft Office 15.0 Object Library
Microsoft ActiveX Data Objects 2.5 Library
Microsoft Scripting Runtime
Microsoft CDO for Windows 2000 Library
Microsoft Word 15.0 Object Library
Então pergunto: Faltaria marcar alguma Referência? ou seria outra coisa ?