Excel et DDE
has1
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
j'ai programme une application en java qui communique avec l'Excel en DDE mais j'ai rencontré un problème lors de l'ouverture de deux Feuille Excel au même temps donc j'ai décidé de cherché sur ce forum une moyen pour interdire l'exécution d'une autre feuille excel sauf la mienne es que quelqu'un a une aidé je vous remercie.
j'ai programme une application en java qui communique avec l'Excel en DDE mais j'ai rencontré un problème lors de l'ouverture de deux Feuille Excel au même temps donc j'ai décidé de cherché sur ce forum une moyen pour interdire l'exécution d'une autre feuille excel sauf la mienne es que quelqu'un a une aidé je vous remercie.
A voir également:
- Excel et DDE
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Si et ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
3 réponses
Bonjour,
Suppose que par "Feuille" tu veux dire classeur.
Probablement que dans la première commande tu ne donne pas la commande pour ouvrir Excel.Application mais directement un classeur.
Je ne connais pas le Java et ne pourrai te donner la syntaxe mais il faut
1°) ouvrir Excel.Application en tant qu'objet
2°) Ouvrir le classeur.
Pour une piste (ce n'est pas ton language) voir cet exemple
http://64.233.183.102/translate_c?hl=fr&sl=en&u=http://www.javaworld.com/javaworld/javaqa/2001-06/04-qa-0629-excel.html&prev=/search%3Fq%3Djava%2Bexcel%2Blibrary%26hl%3Dfr%26rlz%3D1T4GZEZ_frBE248BE248&usg=ALkJrhgtMkQwPdsEBy6TYTR75h-WxG-ZKA
Suppose que par "Feuille" tu veux dire classeur.
Probablement que dans la première commande tu ne donne pas la commande pour ouvrir Excel.Application mais directement un classeur.
Je ne connais pas le Java et ne pourrai te donner la syntaxe mais il faut
1°) ouvrir Excel.Application en tant qu'objet
2°) Ouvrir le classeur.
Pour une piste (ce n'est pas ton language) voir cet exemple
http://64.233.183.102/translate_c?hl=fr&sl=en&u=http://www.javaworld.com/javaworld/javaqa/2001-06/04-qa-0629-excel.html&prev=/search%3Fq%3Djava%2Bexcel%2Blibrary%26hl%3Dfr%26rlz%3D1T4GZEZ_frBE248BE248&usg=ALkJrhgtMkQwPdsEBy6TYTR75h-WxG-ZKA
Merci mon ami je crois que je me suis mal expliquer voila un petit code simple :
//************************************************************************
DDEClient client;
Conversation sheet1 = null;
client = DDEClient.getInstance();
try {
sheet1 = client.connect("Excel", "Sheet1");
System.out.println("Connected to Excel Sheet1");
String a1 = new String(sheet1.request("R1C1"));
System.out.println("A1 value: " + a1);
System.out.println("Changing cell A1 contents to \"Hello\"");
sheet1.poke("R1C1", "Hello".getBytes());
System.out.println("Sending \"New(1)\" command");
sheet1.execute("[New(1)]");
} catch(DDEException e) {
System.out.println(e);
} finally {
// disconnect in a finally clause
try {sheet1.close();} catch (Exception e) {}
}
client.close();
//**********************************************************
c la ligne en gras qui me pose probleme cette ligne etablit la liaison entre excel et java mais le probleme c que je specifie pas a quel classeur je veux m'adresser alors le resultatc que ts les classeurs ouverts peuvent echanger les données avec le serveur Java alors j'ai decidé de fermer ts les calsseurs ouverts sauf celui qui m'intersse mais j'ai trouvé l'asctuce pr le faire .
j'esper que mon probleme est claire amigo.
Merci a vous
//************************************************************************
DDEClient client;
Conversation sheet1 = null;
client = DDEClient.getInstance();
try {
sheet1 = client.connect("Excel", "Sheet1");
System.out.println("Connected to Excel Sheet1");
String a1 = new String(sheet1.request("R1C1"));
System.out.println("A1 value: " + a1);
System.out.println("Changing cell A1 contents to \"Hello\"");
sheet1.poke("R1C1", "Hello".getBytes());
System.out.println("Sending \"New(1)\" command");
sheet1.execute("[New(1)]");
} catch(DDEException e) {
System.out.println(e);
} finally {
// disconnect in a finally clause
try {sheet1.close();} catch (Exception e) {}
}
client.close();
//**********************************************************
c la ligne en gras qui me pose probleme cette ligne etablit la liaison entre excel et java mais le probleme c que je specifie pas a quel classeur je veux m'adresser alors le resultatc que ts les classeurs ouverts peuvent echanger les données avec le serveur Java alors j'ai decidé de fermer ts les calsseurs ouverts sauf celui qui m'intersse mais j'ai trouvé l'asctuce pr le faire .
j'esper que mon probleme est claire amigo.
Merci a vous
Je pense que c'est bien comme je dis dans mon poste précédant...
Tu déclare client = DDEClient.getInstance();
Mais tu ne l'instancie pas , tu veux directement la feuille, je verrais plutôt ça...
Conversation sheet1 = null;
Déclarer une variable !! (je ne connaît pas la syntaxe)
Book as Workbooks
Conversation sheet1 = null;
book= client.connect("Excel", "NomDuClasseur");
sheet1 = book.sheets("Sheet1")
Et pour ouvrir Excel tu doit avoir une référence à cet objet (une librairy, dll ?)
Tu déclare client = DDEClient.getInstance();
Mais tu ne l'instancie pas , tu veux directement la feuille, je verrais plutôt ça...
Conversation sheet1 = null;
Déclarer une variable !! (je ne connaît pas la syntaxe)
Book as Workbooks
Conversation sheet1 = null;
book= client.connect("Excel", "NomDuClasseur");
sheet1 = book.sheets("Sheet1")
Et pour ouvrir Excel tu doit avoir une référence à cet objet (une librairy, dll ?)