[VB.NET] Aprire un documento con l’applicazione predefinita

Per aprire un documento qualsiasi con l’applicazione predefinita, cioè quella associata alla specifica estensione del documento, si può procedere come nel seguente esempio:

Process.Start(My.Application.Info.DirectoryPath & _
    "\Prova.docx")

Questa istruzione apre un documento di Word 2007, presente nella cartella dell’applicazione VB.NET. Se volete testare questa funzionalità, ricordatevi di copiare il file da aprire in entrambe le cartelle, Bin\Debug e Bin\Release.

L’istruzione di cui sopra non funziona se all’inizio del codice non avete inserito anche la seguente dichiarazione:

Imports System.Diagnostics

Se poi volete avere un maggiore controllo di quello che succede durante l’apertura del documento, potete utilizzare il seguente codice:

Dim p As New Process()
With p.StartInfo
   .Arguments = My.Application.Info.DirectoryPath & _
       "\Prova.pdf"
   .UseShellExecute = True
   .WindowStyle = ProcessWindowStyle.Minimized
   .WorkingDirectory = _
       "C:\Program Files (x86)\Adobe\Reader 9.0\Reader\"
   .FileName = "AcroRd32.exe"
End With
p.Start()
p.Close()
p.Dispose()

In questo modo, potete, per esempio, aprire un documento con un’applicazione specificata oppure aprirlo con la finestra minimizzata nella barra delle applicazioni oppure addirittura nascosta.

Annunci

Pubblicato il 19 novembre 2009 su Novità. Aggiungi ai preferiti il collegamento . 6 commenti.

  1. Ciao Mario.
    Approfitto di questo post (il più in tema possibile) per chiederti una consulenza tecnica, anche se riguarda il framework 3.5.
    Ho creato un piccolo blocco note, che genera un file di testo. L’applicazione è installata sul mio PC. Purtroppo, ho 3 problemi:
    1) il file generato non “mantiene la formattazione”. Si crea un file con il testo, ma da cui spariscono il font utilizzato ed eventuali altre aggiunte (sottolineature, grassetti, ecc.).
    2)Vorrei riuscire a dare un’estensione “personalizzata” al file creato (.mmm, per esempio)
    3) Premesso che ho creato il pacchetto di installazione, quando lancio l’installer Windows Vista mi avvisa che “non conosce l’autore dell’applicazione” (ora non ricordo la frase precisa, spero tu abbia capito il problema)
    Non ti chiedo di rispondermi personalmente, ma se gentilmente mi segnali qualche fonte (che non sia MSDN, già guardata) per risolvere questi bug (ammesso che di bug si possa parlare).

    Mi piace

  2. Ciao Matteo.
    Ti consiglio di inviare le richieste al più appropriato forum di http://www.dotnetwork.it, perché un blog non è il massimo per fare una discussione su un problema specifico come quello che hai rappresentato.
    Ciao e grazie.

    Mi piace

  3. sei un grande!!!!

    Mi piace

  4. Francesco Galli

    Ciao Mario,
    Ho una richiesta in tema con ciò che ai postato: per aprire la cartella che contiene un determinato file e selezionare il file, (cioè per fare quello che che si fa con “Apri percorso file”) come si fa?

    Grazie per l’eventuale risposta
    Francesco Galli

    Mi piace

    • Ciao Francesco.
      Se ho capito bene, puoi utilizzare un controllo di tipo FolderBrowserDialog…
      Poi come codice puoi adattare questo:

      FolderBrowserDialog1.SelectedPath = Me.TextBox2.Text ‘percorso
      If FolderBrowserDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
      Me.TextBox2.Text = FolderBrowserDialog1.SelectedPath
      End If

      Mi piace

  5. Francesco Galli

    Grazie Mario per la tempestiva risposta,
    Forse non sono stato sufficientemente chiaro. Quello che volevo fare è: Aprire una cartella con explorer e selezionare il file corrispondente a un determinato indirizzo (FullName del file).

    Alla fine ci sono riuscito prendendo spunto dal codice che hai postato all’inizio di questa discussione. Se può servire a qualcuno è questo:

    Dim IndirizzoFile as string = “C:\Musica\Bob Dylan\Desire\01 Hurricane.mp3”

    Process.Start(“explorer.exe”, ” /Select , ” & IndirizzoFile)

    Un saluto
    Francesco

    Mi piace

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

w

Connessione a %s...

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogger hanno fatto clic su Mi Piace per questo: