Pagina 1 di 1
[RISOLTO] Macro per aprire URL (qualsiasi)
Inviato: giovedì 13 giugno 2013, 17:03
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
Re: Macro per aprire URL (qualsiasi)
Inviato: venerdì 14 giugno 2013, 8:28
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
Re: Macro per aprire URL (qualsiasi)
Inviato: sabato 15 giugno 2013, 8:56
da pinko
Qui mi dice "Valore per la propietà errato"
Re: Macro per aprire URL (qualsiasi)
Inviato: sabato 15 giugno 2013, 12:13
da Mizio1961
Ciao
Devi operare per macro e sub macro passando dalla tua sAbreDoc() il parametro sURL a quella di vladko
Saluti
Re: Macro per aprire URL (qualsiasi)
Inviato: sabato 15 giugno 2013, 12:49
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.
Re: Macro per aprire URL (qualsiasi)
Inviato: lunedì 17 giugno 2013, 11:37
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
Re: Macro per aprire URL (qualsiasi)
Inviato: lunedì 17 giugno 2013, 13:57
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
Re: Macro per aprire URL (qualsiasi)
Inviato: lunedì 17 giugno 2013, 14:05
da pinko
Forse così ti rendi meglio conto.
Ho aggiunto un altro pulsante che apre la macro originale e come puoi notare funziona.
Re: Macro per aprire URL (qualsiasi)
Inviato: martedì 18 giugno 2013, 14:02
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
Re: Macro per aprire URL (qualsiasi)
Inviato: martedì 18 giugno 2013, 16:39
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!