Aprire un file rtf

giovedì 16 agosto 2007 - 18.42

Giovanni_3478 Profilo | Senior Member

Ciao


Ho inserito un file rtf "Testi.rtf" nell'applicazione

All'evento onclick di un button vorrei aprire questo file

Con Microsoft.VisualBasic.Shell("Testi.txt", AppWinStyle.NormalFocus, True, 30)
non riesco ad aprire nulla, dice che non riesce a trovare il file.

Ho sbagliato metodo?

munissor Profilo | Senior Member

A vederla così sembra che tu abbia sbagliato estensione..hai usato txt al posto di rtf...

Giovanni_3478 Profilo | Senior Member

Ho sbagliato solo nel post non nel codice.


Non c'è niente altro che non va?

Giovanni_3478 Profilo | Senior Member

SCrivendo
Microsoft.VisualBasic.Shell("C:\percorsoWordpad.exe", AppWinStyle.NormalFocus, True, 30)
Il wordpad si apre.

Scrivendo
Microsoft.VisualBasic.Shell("Testi.rtf", AppWinStyle.NormalFocus, True, 30)
anche se il percorso è giusto, il file Testi.rtf non si apre
non capisco perchè

munissor Profilo | Senior Member

Mi vengono un mente 2 cose..
Una è il percorso relativo nel file.. se tu scrivi "file.txt" il sistema cerca in un po' di cartelle predefinite la presenza del file (tra cui la cartella corrente dell'applicazione, NON la cartella dove si trova l'eseguibile).. Prova a specificare un percorso assoluto.

In alternativa usa Process.Start per lanciare il tuo file..

Giovanni_3478 Profilo | Senior Member

Ciao


Ho usato

Dim strPath As String = Replace(System.IO.Directory.GetCurrentDirectory, "\bin\Debug", "", , 1, CompareMethod.Binary)
strPath = Replace(System.IO.Directory.GetCurrentDirectory, "\bin\Release", "", , 1, CompareMethod.Binary)
Process.Start(strPath & "\Testi.rtf")


e funziona.

Per quanto riguarda Microsoft.VisualBasic.Shell(..),
usando il persorso assoluto non funziona.

C'è un metodo per ottnere un riferimento alla cartella principale dell'applicazione,
quindi non quella di Debug nè quella di release?

munissor Profilo | Senior Member


La via + semplice è usare Application.ExecutablePath..poi da questa ci togli il nome dell'eseguibile tramite Path.GetDirectoryName..
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5