Molti domandano come aprire un file esterno, associato ad un qualunque programma, da Visual Basic.
In un modulo dichiariamo la seguente funzione:
codice:
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As_
String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Const SW_NORMAL = 1
A questo punto dalla vostra applicazione richiamate il file che volete aprire come segue:
codice:
Dim X As Long
X = ShellExecute(hWnd, "Open", "C:\nomecartella\nomefile.doc", vbNullString, vbNullString, SW_NORMAL)
In questo caso si apre direttamente un documento di Word. Con lo stesso sistema potere aprire una pagina Internet o inviare una mail.
codice:
Dim X As Long
X = ShellExecute(hWnd, "Open", "http://www.maurorossi.net", vbNullString, vbNullString, SW_NORMAL)
'oppure
codice:
Dim X As Long
X = ShellExecute(hWnd, "Open", "mailto:rossimt@sistel.it?subject=Prova&body=Testo da inviare", vbNullString, vbNullString, SW_NORMAL)
Con lo stesso metodo potete anche lanciare un exe, o un file di qualunque estensione.
(Il quarto parametro è per gli eventuali comandi della riga di comando, il quinto per la directory di origine, in questo caso sono entrambi nulle).