Criar campo tabela/formulário capaz de suportar um link

Estou criando um bd onde um dos campos da tabela e posteriormente do formulário deverão conter um link que deverá abrir um doc pdf. Como posso fazer isso?

Você pode, por exemplo, definir este campo como texto (VARCHAR), mas usar duas macros para lidar com ele. Uma macro irá obter a URL (caminho) do arquivo, enquanto outra abrirá esse arquivo (URL armazenada) no leitor pdf padrão do sistema. A URL é armazenada como um texto na tabela.

Arquivo de exemplo:


O formulário do arquivo acima contém:
  • 1 caixa de texto chamada txtCaminho, vinculada ao campo que receberá o link (url) na tabela.
  • 2 botões de pressão.

O **primeiro botão de pressão** deve ter a macro *abaixo* associada ao seu **evento Executar ação**. Ela irá obter a url do arquivo pdf que o usuário selecionar na janela.
Sub cmdSelecionar_click( oEvento )
REM Evento > Executar ação
Dim oForm As Object, oCaminho As Object, oArquivo As Object
Dim sPdf As String

   oForm = oEvento.Source.Model.Parent
   oCaminho = oForm.getByName("txtCaminho")
   
   sPdf = EscolherPDF( "LO BASE - Escolher PDF" )
   If Len(sPdf) > 0 then
      oCaminho.BoundField.updateString( sPdf ) 
   End If
End Sub


Function EscolherPDF(sTitulo as string) as String
Dim s As Object
   s = createUnoService( "com.sun.star.ui.dialogs.FilePicker" )
   s.initialize( Array(com.sun.star.ui.dialogs.TemplateDescription.FILEOPEN_SIMPLE) )
   s.appendFilter( "Arquivos PDF","*.pdf" )
   s.setTitle( sTitulo )
   s.setLabel( com.sun.star.ui.dialogs.CommonFilePickerElementIds.PUSHBUTTON_OK, sBouton )
   s.setMultiSelectionMode( False )
   If s.Execute = com.sun.star.ui.dialogs.ExecutableDialogResults.OK Then
      EscolherPDF = s.files(0)
   Else
      EscolherPDF = ""
   End If
End Function

O segundo **botão de pressão** deve ter a macro abaixo associada ao seu **evento Aprovar ação**. E para funcionar, é preciso ainda que sua **propriedade Ação** seja alterada a para **Abrir documento/página da web**.
Sub cmdAbrir_click( oEvento )
REM Evento > Aprovar ação
REM => Alterar a propriedade "Ação" para "Abrir documento/
REM    página da web
Dim oForm As Object, oCaminho As Object

   oForm = oEvento.Source.Model.Parent
   oCaminho = oForm.getByName("txtCaminho")
   
   If FileExists( oCaminho.Text ) Then
      oEvento.Source.Model.TargetURL = oCaminho.Text
   End If
End Sub

Atte,