IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

VB .Net et Excel, erreur sur poste


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 19
    Points : 16
    Points
    16
    Par défaut VB .Net et Excel, erreur sur poste
    Bonjour,

    Je suis actuellement en train de développer une application .Net, dans VS2008, travaillant sur des fichiers Excel.

    Sur mon poste de travail tout fonctionne parfaitement. Je suis passe a la phase de tests, l'installation et le lancement de l'application se passe bien sur les autres postes, cependant lorsque l'application veut ouvrir un fichier Excel j'ai une erreur de type "Old fomat..."

    C'est la commande suivant qui plante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ExcelApplication.WorkBooks.Open(file)
    Pour le déploiement j'utilise la fonction "Publier" de VS.
    Les autres postes sont theoriquement strictement identique puisque ce sont tous des postes d'entreprises configures par l'administrateur. Tout le monde travail avec Excel 2003.

    Si quelqu'un a une idée, merci d'avance.

    Ed

  2. #2
    Membre averti
    Avatar de Ogotcha
    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Points : 398
    Points
    398
    Par défaut
    Essai avec un petit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Process.Start(chemin+nomdufichier.xls)
    Mon Blog
    FAQs DotNet
    Fonction utile : Recherche

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Salut,

    Merci pour cette idée. Cela fonctionne sur mon poste, j'attends de la tester sur les autres.

    Par contre juste une question, lorsque le programme lance le process il lance la fenêtre Excel et çà ne m'arrange pas du tout, même avec le code suivant on voit la fenêtre apparaitre, certes rapidement mais pas géniale.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Process.Start(file)
    ExcelApplication.Visible = False
    Une idée pour compléter ?

    Merci pour le coup de main.

    Ed

  4. #4
    Membre averti
    Avatar de Ogotcha
    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Points : 398
    Points
    398
    Par défaut
    Quelle fenetre parle tu ? car il ouvre le fichier excel, c'est le splashscreen office qui te dérange ? ou le fait de voir le classeur excel ? essai en mettant ta form toujours au premier plan avec cela je pense que la fenetre excel apparaitra toujours mais masquée par ta form (a tester)
    Mon Blog
    FAQs DotNet
    Fonction utile : Recherche

  5. #5
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Citation Envoyé par sweet76 Voir le message
    [...] cependant lorsque l'application veut ouvrir un fichier Excel j'ai une erreur de type "Old fomat..."

    C'est la commande suivant qui plante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ExcelApplication.WorkBooks.Open(file)
    Pour le déploiement j'utilise la fonction "Publier" de VS.
    Les autres postes sont theoriquement strictement identique puisque ce sont tous des postes d'entreprises configures par l'administrateur. Tout le monde travail avec Excel 2003.
    Et sur ton poste de développement, quelle version d'Excel as-tu ?
    La méthode WorkBooks.Open() que tu utilises fournit de multiples options qui te permettront d'ouvrir correctement le fichier, il me semble.

    Citation Envoyé par sweet76 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Process.Start(file)
    ExcelApplication.Visible = False
    Process.Start() est complètement indépendant de l'espace de noms Excel, il ne te servira à rien d'ajouter la deuxième ligne.
    Il vaut mieux que tu résolves ton problème en modifiant les options d'ouverture avec WorkBooks.Open().

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    En effet j'ai étudié un peu les processus sur la msdn et il n'y à rien en commun, ce qui fait que ça m'inquiète un peu d'ouvrir le fichier de cette manière même si visiblement les actions suivantes sont bien exécutés.

    Le process ouvre la feuille Excel, il y a donc une fenêtre Excel qui apparaît, et comme mon application enregistre les paramètres et referme cela fait gros bogue graphique, sans planté l'application ce n'est tout de même pas top.

    J'ai vu toute les méthodes qu'offrent le .Open, cependant je ne les comprends pas trop. Si vous pouvez me donner un exemple qui devrai fonctionner à tous les coups ?

    Tous les postes, comme le miens sont sous Excel 2003.

    Merci.

    Ed

  7. #7
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Citation Envoyé par sweet76 Voir le message
    J'ai vu toute les méthodes qu'offrent le .Open, cependant je ne les comprends pas trop. Si vous pouvez me donner un exemple qui devrai fonctionner à tous les coups ?
    Ben la méthode de donner seulement le nom du fichier fonctionne la plupart du temps...

    Au lieu de mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ExcelApplication.WorkBooks.Open(file)
    Essaye plutôt comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Application ExcelApplication = new Application();
    object Missing = System.Reflection.Missing.Value;
    Workbooks ExcelWorkBooks = (Workbooks)ExcelApplication.Workbooks;
     
    ExcelWorkBooks.Open(file, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing);

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Merci Skalp pour cette idée, malheureusement cela ne fonctionne toujours pas.

    Voici le détail complet de l'erreur, si ça peux vous donner une idée du problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    ************** Exception Text **************
    System.Runtime.InteropServices.COMException (0x80028018): Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))
       at Microsoft.VisualBasic.CompilerServices.LateBinding.InternalLateCall(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack, Boolean IgnoreReturn)
       at Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateCall(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, Boolean IgnoreReturn)
       at ArevaDesign.Creation_Form.project_New()
       at ArevaDesign.Creation_Form.creation_Click(Object sender, EventArgs e)
       at System.Windows.Forms.Control.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ButtonBase.WndProc(Message& m)
       at System.Windows.Forms.Button.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
     
     
    ************** Loaded Assemblies **************
    mscorlib
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.42 (RTM.050727-4200)
        CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
    Areva Project Analyser
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Documents%20and%20Settings/Acer/Local%20Settings/Apps/2.0/340Y97E8.JZ9/03HNJBLE.MPY/arev..tion_d0b46fbe59bc5293_0001.0000_73e0d3cfc4103324/Areva%20Project%20Analyser.exe
    ----------------------------------------
    Microsoft.VisualBasic
        Assembly Version: 8.0.0.0
        Win32 Version: 8.0.50727.42 (RTM.050727-4200)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
    ----------------------------------------
    System
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.42 (RTM.050727-4200)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Windows.Forms
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.42 (RTM.050727-4200)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.42 (RTM.050727-4200)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System.Runtime.Remoting
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.42 (RTM.050727-4200)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
    ----------------------------------------
    System.Configuration
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.42 (RTM.050727-4200)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    System.Xml
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.42 (RTM.050727-4200)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    Microsoft.Office.Interop.Excel
        Assembly Version: 11.0.0.0
        Win32 Version: 11.0.5530
        CodeBase: file:///C:/WINDOWS/assembly/GAC/Microsoft.Office.Interop.Excel/11.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Excel.dll
    Je ne comprend toujours pas ce qui cloche.

    Merci pour votre aide.

    Ed

  9. #9
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    La msdn parle d'un bug donnant cette erreur. Je te laisse consulter l'article : BUG: "Old format or invalid type library" error when automating Excel

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Merci pour cette info. En effet je suis a Bangkok, Excel fonctionne en anglais sur tous les PC de l'entreprise, mon PC est en anglais donc tout va bien, mais les managers ont des PCs en Thai donc ca plante.

    J'ai corrige l'erreur merci beaucoup pour votre aide.

    Ed

  11. #11
    Membre actif Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Points : 288
    Points
    288
    Par défaut
    Bonjour sweet76,

    j'ai exactement le même problème, masi moi les solutions de l'article ne m'ont rien donné...est-ce que ut voudrais ben détailler un peu ce que tu as fait pour corriger ce BUG?
    ça me rendrait un énorme service...

    merci d'avance
    Feel good, feel geek

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 28/05/2015, 09h38
  2. Asp.net et Excel : Erreur
    Par Pynouz dans le forum ASP.NET
    Réponses: 13
    Dernier message: 12/09/2013, 17h00
  3. Accès SQL dans fichier excel erreur sur une ligne
    Par troubleshooting dans le forum Excel
    Réponses: 3
    Dernier message: 17/11/2009, 14h46
  4. Déploiement Application Excel 2007 sur Poste Excel 2003
    Par skaraa dans le forum Windows Forms
    Réponses: 2
    Dernier message: 01/07/2009, 15h53
  5. excel erreur sur une condition
    Par zaza45 dans le forum Excel
    Réponses: 7
    Dernier message: 09/04/2008, 12h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo