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

Bases de données Delphi Discussion :

Connexion Excel et test sur un fichier déjà ouvert


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Avril 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 65
    Points : 45
    Points
    45
    Par défaut Connexion Excel et test sur un fichier déjà ouvert
    Bonjour dans le cadre d'un projet ou je converti des tables paradox en fichier Excel j'ai déjà posé quelques questions et les indications m'ont parfois bien aidé...donc en voila une de plus ..



    Losrque j'exporte une table paradox vers excel je teste d'abord si le fichier existe déjà ou si j'en crée un nouveau.

    Dans le cas ou le fichier existe j'aimerais faire un test pour savoir si le fichier excel est pas déjà ouvert car dans ce cas la ca me crée pas d'erreur forcement mais ca m'ouvre le deuxieme fichier en doublons et lorsque je ferme le deuxieme le premier ne s'actualise pas avec les données que je viens de transferer....


    en clair je pisserais dans un violon ca n'en ferais pas mieux ...

    J'espère avoir énoncé mon problème le plus clairement possible .

    Si quelqu'un sais comment tester si un fichier excel est déjà ouvert ca serais parfait !


    © Seb ®

  2. #2
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    salut,
    tu peux tester si ton fichier excel est déjà ouvert en passant par cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function VerifierSiFichierEstOuvert(NomFichier : string) : boolean;
    var HFileRes : HFILE;
    begin
      Result := False;
      if not FileExists(NomFichier) then
        Exit;
      HFileRes := CreateFile(pchar(NomFichier),
                             GENERIC_READ or GENERIC_WRITE,
                             0, nil, OPEN_EXISTING,
                             FILE_ATTRIBUTE_NORMAL, 0);
      Result := (HFileRes = INVALID_HANDLE_VALUE);
      if not Result then
        CloseHandle(HFileRes);
    end;
    pour l'appeler, il suffit de mettre ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if VerifierSiFichierEstOuvert('C:\ton ficher.xls') then begin
    showmessage('impossible d''exporter les données car le fichier est encore ouvert!')
    end else
    .
    .
    end;
    j'espère que ça t'aidera.

    a+

    NABIL74

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 859
    Points : 11 307
    Points
    11 307
    Billets dans le blog
    6
    Par défaut
    ou pê en passant par l'OLE Excel (si tu l'utilises) et listant les classeurs ouverts
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  4. #4
    Membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Avril 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 65
    Points : 45
    Points
    45
    Par défaut
    merci pour la réponse je vais la tester , sinon justilise les OLE mais je ne sais pas comment lister les classeurs ouverts..si jamais le code est plus rapide ca sera mieux mais déjà je vais intégrer le code de NABIL74.



    Merci

    © Seb ®

  5. #5
    Membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Avril 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 65
    Points : 45
    Points
    45
    Par défaut
    J'ai intégré la fonction que tu m'a donnée elle marche bien !! dc bon j'vais abandonner les recherches pour l'OLE. je n'ai pas reussi a trouver car il se connecte a une nouvelle session excel donc pas a celle existante.

    merci pour la réponse qui marche bien bien !!


    © Seb ®

  6. #6
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 859
    Points : 11 307
    Points
    11 307
    Billets dans le blog
    6
    Par défaut
    je pense que ce petit tour dans la FAQ : http://delphi.developpez.com/faq/?pa...#wordwordlance permettra de récupérer Excel s'il est lancé (lien "comment savoir si une application COM est en cours d'exécution ?")
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

Discussions similaires

  1. [Excel] Sans modification sur le fichier
    Par Space Cowboy dans le forum Bibliothèques et frameworks
    Réponses: 11
    Dernier message: 30/04/2009, 11h06
  2. Test sur un fichier image
    Par reventlov dans le forum Débuter
    Réponses: 1
    Dernier message: 06/10/2008, 22h39
  3. Tests sur des fichiers
    Par cyrilskof dans le forum Langage
    Réponses: 4
    Dernier message: 03/09/2008, 20h55
  4. Test sur existence Fichier
    Par blackstreet dans le forum Réseau
    Réponses: 12
    Dernier message: 25/07/2006, 13h24
  5. Test sur les fichiers
    Par Overflow64 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 15/11/2005, 15h56

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