[RISOLTO] Macro per aprire URL (qualsiasi)

Discussioni sulle caratteristiche di database
Rispondi
pinko
Messaggi: 23
Iscritto il: sabato 8 giugno 2013, 14:26

[RISOLTO] Macro per aprire URL (qualsiasi)

Messaggio da pinko »

Eccomi per un'altro quesito.
Ho trovato questa macro che fa al caso mio: prende un URL da una casella di una tabella e lo apre. Il problema è che apre qualsiasi URL, anche quindi un pdf una immag., come un file Writer.
Vi chiedo è possibile modificarla affinche apra il file URL con il giusto programma (così come fa esplora risosrse, per intenderci).
Grazie

Codice: Seleziona tutto

Sub sAbreDoc(Event As Object)
   Dim oFormD As Object
   Dim sURL As String
   On Error Goto Err_sAbreDoc
   oFormD=Event.Source.Model.Parent
   If oFormD.IsModified Then
      If oFormD.IsNew Then oFormD.InsertRow Else oFormD.UpdateRow
   End If
   sURL=ConvertToURL(oFormD.Columns.GetByName("URL").GetString)
   If Dir(sURL)="" Then
      MsgBox "No se encuentra el archivo: " & sURL
      Exit Sub
   End If
Ultima modifica di pinko il martedì 18 giugno 2013, 16:53, modificato 1 volta in totale.
OpenOffice 3.4.1 su Windows7
vladko
Messaggi: 1637
Iscritto il: martedì 3 agosto 2010, 8:02

Re: Macro per aprire URL (qualsiasi)

Messaggio da vladko »

Codice: Seleziona tutto

Sub openFile(sUrl)
Select Case Left(Right(sUrl,3),2)
	Case "pd", "pn", "jp", "gi", "ti","JP"
		If GetGUIType=1 Then
			Shell ("C:\Program Files\Mozilla Firefox\firefox.exe", 1, sUrl)
		Else
			Shell ("firefox", 1, sUrl)
		Endif
	Case "od"
		If GetGUIType=1 Then
			Shell ("C:\Program Files\OpenOffice.org 3\program\soffice.exe", 1, sUrl)
		Else
			Shell ("soffice", 1, sUrl)
		Endif
	Case Else
	print "File non riconosciuto"
End Select
End Sub
'***Select file****************************************************
Function selectFile
	oFilePicker = createUnoService ("com.sun.star.ui.dialogs.FilePicker")
	'oFilePicker.appendFilter("OpenDocumentText","*.odt")
	If oFilePicker.execute() Then
		selectFile = oFilePicker.Files(0)
	Else
		print "Select the file"
	Endif
End Function
questo è quanto avevo nei miei appunti.
spero qualcuno fa meglio
fai sapere grazie
AOO 3.4.1 AOO341m1(Build:9593) Linux Mint Debian/Mate 64bit java 1.6.0.22 XP PRO/32bit
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie :-)
pinko
Messaggi: 23
Iscritto il: sabato 8 giugno 2013, 14:26

Re: Macro per aprire URL (qualsiasi)

Messaggio da pinko »

Qui mi dice "Valore per la propietà errato"

Codice: Seleziona tutto

Select Case Left(Right(sUrl,3),2)
OpenOffice 3.4.1 su Windows7
Avatar utente
Mizio1961
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Macro per aprire URL (qualsiasi)

Messaggio da Mizio1961 »

Ciao
Devi operare per macro e sub macro passando dalla tua sAbreDoc() il parametro sURL a quella di vladko
Saluti
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
pinko
Messaggi: 23
Iscritto il: sabato 8 giugno 2013, 14:26

Re: Macro per aprire URL (qualsiasi)

Messaggio da pinko »

Mizio,
per cortesia la componi tu, perchè io (a parte che non ci ho capito nulla) ma non ci sono riuscito. Mi escono fuori un casino di errori.
Oppure spiegati meglio...

Comunque ti ringrazio per la risposta.
OpenOffice 3.4.1 su Windows7
Avatar utente
Mizio1961
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Macro per aprire URL (qualsiasi)

Messaggio da Mizio1961 »

Il discorso è il seguente:

Codice: Seleziona tutto

Sub sAbreDoc(Event As Object)
   Dim oFormD As Object
   Dim sURL As String
   On Error Goto Err_sAbreDoc
   oFormD=Event.Source.Model.Parent
   If oFormD.IsModified Then
      If oFormD.IsNew Then oFormD.InsertRow Else oFormD.UpdateRow
   End If
   sURL=ConvertToURL(oFormD.Columns.GetByName("URL").GetString)
   If Dir(sURL)="" Then
      MsgBox "No se encuentra el archivo: " & sURL
      Exit Sub
   else
      openFile(sURL)
   End If
end sub

Sub openFile(sUrl)
   Select Case Left(Right(sUrl,3),2)
      Case "pd", "pn", "jp", "gi", "ti","JP"
         If GetGUIType=1 Then
            Shell ("C:\Program Files\Mozilla Firefox\firefox.exe", 1, sUrl)
         Else
            Shell ("firefox", 1, sUrl)
         Endif
      Case "od"
         If GetGUIType=1 Then
            Shell ("C:\Program Files\OpenOffice.org 3\program\soffice.exe", 1, sUrl)
         Else
            Shell ("soffice", 1, sUrl)
         Endif
      Case Else
      print "File non riconosciuto"
   End Select
End Sub
    '***Select file****************************************************
Function selectFile
   oFilePicker = createUnoService ("com.sun.star.ui.dialogs.FilePicker")
   'oFilePicker.appendFilter("OpenDocumentText","*.odt")
   If oFilePicker.execute() Then
      selectFile = oFilePicker.Files(0)
   Else
      print "Select the file"
   Endif
End Function
Questo codice funziona se viene chiamato da un formulario di Base al cui interno ci sia un campo "URL" che contiene il nome del file da aprire comprensivo del percorso su HD C: dove trovarlo.
Se hai altre difficoltà allora allega il tuo file dove vorresti inserirlo perchè altrimenti rischiamo solo di perdere tempo
Saluti by Mizio
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
pinko
Messaggi: 23
Iscritto il: sabato 8 giugno 2013, 14:26

Re: Macro per aprire URL (qualsiasi)

Messaggio da pinko »

OK, allego il file. E ti ringrazio per la disponibilità
Questo è il db che vorrei modificare affinchè la macro apra tutti i tipi di file.

Ho modificato la macro, ma genera errore.

Viceversa se togli l'aggiunta tutto fila liscio ma solo se il file è un file writer altrimenti apre il file (pdf per esempio) ma con writer ed è inutile.

Ciao
Allegati
Documentos.odb
(13.89 KiB) Scaricato 224 volte
OpenOffice 3.4.1 su Windows7
pinko
Messaggi: 23
Iscritto il: sabato 8 giugno 2013, 14:26

Re: Macro per aprire URL (qualsiasi)

Messaggio da pinko »

Forse così ti rendi meglio conto.
Ho aggiunto un altro pulsante che apre la macro originale e come puoi notare funziona.
Allegati
Documentos.odb
(13.89 KiB) Scaricato 224 volte
OpenOffice 3.4.1 su Windows7
Avatar utente
Mizio1961
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Macro per aprire URL (qualsiasi)

Messaggio da Mizio1961 »

Ciao
In allegato trovi il tuo file con la macro che fuziona. Due punti da tenere presente:
- Il primo riguarda alle cartelle che contengono i programmi. Nella macro OpenFile() trovi quelli che funzionano sul mio PC, quindi li devi modificare coi tuoi percorsi di riferimento.
- Il secondo riguarda il modo di scrivere il percorso di ricerca del file da aprire. Per questo il contenuto della variabile sURL non sempre può aver bisogno di essere trattato con la funzione convertToURL(), come vedi nel caso il file sia di tipo PDF.
Saluti ;)
PS: Ricordati di cambiare il titolo iniziale di questo post aggiungendogli la scrita [Risolto] all'inizio
Allegati
Pink_Documentos.odb
(14.38 KiB) Scaricato 316 volte
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
pinko
Messaggi: 23
Iscritto il: sabato 8 giugno 2013, 14:26

Re: Macro per aprire URL (qualsiasi)

Messaggio da pinko »

Ciao, infinite grazie per l'aiuto.

Ho fatto una mia piccola modifica.
A me capitava che il primo pulsante caricasse l'URL secondo file:///c:/........etc
Però il secondo pulsante anche se apriva acrobat, acrobat mi segnalava che il persorso era invalido.
Allora ho pensato di far aprire l'URL da explore e.... funziona!
OpenOffice 3.4.1 su Windows7
Rispondi