OpenFileDialog : ouvrir un fichier à l'écran [Résolu]

K29CD 4 Messages postés mardi 15 juillet 2008Date d'inscription 30 octobre 2009 Dernière intervention - 20 mars 2009 à 17:29 - Dernière réponse : K29CD 4 Messages postés mardi 15 juillet 2008Date d'inscription 30 octobre 2009 Dernière intervention
- 23 mars 2009 à 10:14
Bonjour à tous,

Mon formulaire contient un bouton "Parcourir" qui ouvre un OpenFileDialog.
L'explorateur de fichier s'ouvre bien et je peux sélectionner les fichiers (ici des fichiers .xls).
Malheureusement, quand je clique sur le fichier sélectioné ou sur "Ouvrir", rien ne se passe !
Je ne veux pas charger ce que contient le fichier .xls, ni même le parcourir, je veux SIMPLEMENT qu'EXCEL s'ouvre et m'affiche à l'écran le fichier... Or, rien de ceci ne se passe !

Voici mon code :


System.Windows.Forms.OpenFileDialog ofd = new System.Windows.Forms.OpenFileDialog();

ofd.InitialDirectory = System.Windows.Forms.Application.ExecutablePath;

ofd.Filter = "Fichiers XLS (*.xls)|*.xls|Tous les fichiers (*.*)|*.*";



if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)

{

// ouverture du fichier

ofd.OpenFile() ;


}

SVP je suis nouveau en C#, merci de votre précieuse aide...
J'ai parcouru de nombreux forums (y compris celui-ci) sans réussir à comprendre où est mon erreur ou mon omission. J'ai besoin de vos lumières.

Cdlt

K29
Afficher la suite 

3 réponses

Répondre au sujet
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 20 mars 2009 à 18:04
+3
Utile
Salut,

La méthode OpenFile ouvre un Stream pour lire le contenu du fichier, elle ne lance pas le programme associé à l'extension.
Voir du côté de Process.Start pour celà.

/*
coq
MVP Visual C#
CoqBlog
*/
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_coq
balousto 2 Messages postés dimanche 1 février 2009Date d'inscription 20 mars 2009 Dernière intervention - 20 mars 2009 à 19:02
+3
Utile
Slt ...
J'espère que ça va t'aider.

if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)

{

 // il lance le fichier choisi (ofd.filename) si windows ouvre les fichiers .xls est via ExCel
System.Diagnostics.Process.Start("ofd..FileName")

}
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de balousto
K29CD 4 Messages postés mardi 15 juillet 2008Date d'inscription 30 octobre 2009 Dernière intervention - 23 mars 2009 à 10:14
0
Utile
Merci à tous les 2 !
Vos réponses m'ont parfaitement éclairé et se complètent l'une l'autre.

Voici donc le code complété :

[STAThread]
private void b_Parcourir_Click(object sender, EventArgs e)
{

try
{

System.Windows.Forms.OpenFileDialog ofd = new System.Windows.Forms.OpenFileDialog();
ofd.InitialDirectory = System.Windows.Forms.Application.ExecutablePath;
ofd.Filter = "Fichiers XLS (*.xls)|*.xls|Tous les fichiers (*.*)|*.*";


if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
Process process;
string file = ofd.SafeFileName.ToString();
ProcessStartInfo startInfo = new ProcessStartInfo();
// définition du type de programme exécutant --> EXCEL
startInfo.FileName = "excel.exe";
startInfo.WindowStyle = ProcessWindowStyle.Maximized;
startInfo.ErrorDialog = true;

try
{
// ouverture dans EXCEL du fichier sélectionné
process = Process.Start(file);

}//Fin TRY

catch (Exception ex)
{
MessageBox.Show("Could not start process.\n" + ex.Message);

}// Fin CATCH

}// Fin IF

}// Fin TRY

catch (Exception e4)
{
MessageBox.Show("Erreur d'ouverture du fichier:\n"
+ e4.Message);
}// Fin CATCH

}// Fin void


MERCI BEAUCOUP !!!!!

Cordialement

K29
Commenter la réponse de K29CD

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.