Acces a une onglet sur une feuille Excel 2000

Signaler
Messages postés
1
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
31 janvier 2002
-
Messages postés
33
Date d'inscription
jeudi 17 août 2006
Statut
Membre
Dernière intervention
1 juin 2007
-
Bonjour,

qqn saurait-il comment acceder en javascript a un onglet donné sur une feuille Excel 2000 apres ouverture de celle-ci avec la methode window.open ?

7 réponses

Messages postés
6
Date d'inscription
mercredi 26 juin 2002
Statut
Membre
Dernière intervention
30 août 2003

Un petite fonction que te permet de comprendre comment on ouvre Excel en javascript (Pas avec window.open):

/*---------------------------------------------------------
Nom de la fonction : exportToXL
Description : Rempli une feuille Excel avec le contenu
d'un tableau
Entrées :
eSrc -> tableau à exporter
Sorties :
En cas d'erreur renvoie false
---------------------------------------------------------*/
function exportToXL(eSrc) {
var oExcel; // Application Excel
var oExcelSheet; // Feuille de calcul
var cols; // Nombre de colonnes du tableau

oExcel = new ActiveXObject('Excel.Application');
oExcelSheet = new ActiveXObject('Excel.Sheet');
oExcelSheet.Activate();

if (eSrc.tagName != 'TABLE') {
alert('L\'export vers Excel ne fonctionne qu\'avec un tableau.');
return false;
}

cols = Math.ceil(eSrc.cells.length / eSrc.rows.length);

for (var i = 0; i < eSrc.cells.length; i ++)
{
var c, r;
r = Math.ceil((i+1) / cols); //lignes en cours
c = (i+1)-((r-1)*cols) //colonnes en cours

//En tête de colonnes
if (eSrc.cells(i).tagName == 'TH') {
oExcel.ActiveSheet.Cells(r,c).Font.Bold = true;
oExcel.ActiveSheet.Cells(r,c).Interior.Color = 14474460; //gris
}

// Texte en gras
if (eSrc.cells(i).childNodes(0).tagName == "B")
oExcel.ActiveSheet.Cells(r,c).Font.Bold = true;

// Rempli le contenu
oExcel.ActiveSheet.Cells(r,c).Value = eSrc.cells(i).innerText;
}
oExcelSheet.Application.Visible = true;
}
Messages postés
1
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
31 décembre 2002

bonjour,
désolé mias ça marche pas , le message d'erreur suivant apparait:
"Un composant ActiveX ne peut pas créer un objet"

Merci d'avance

Kariboo
Messages postés
6
Date d'inscription
mercredi 26 juin 2002
Statut
Membre
Dernière intervention
30 août 2003

J'oubliais. Sur IE, il faut aller dans le menu . Dans l'onglet Sécurité, tu cliques sur "Personnaliser...". Puis tu actives les scripts ActiveX non marqués comme sécurisés. Cela devrait fonctionner maintenant.
Messages postés
6
Date d'inscription
mercredi 26 juin 2002
Statut
Membre
Dernière intervention
30 août 2003

Je voulais dire Outils / Options Internet du menu.
Messages postés
1
Date d'inscription
mercredi 10 juin 2009
Statut
Membre
Dernière intervention
7 février 2003

Effectivement, comme cela ça marche...
Y'a-t-il un moyen de ne pas passer par cette opération ? Cela serait pratique que ça marche dans tous les cas...
Si quelqu'un connait un autre moyen (VBScript par ex.) pour faire ce genre d'opération, cela m'intéresse...

Merci
Messages postés
6
Date d'inscription
mercredi 26 juin 2002
Statut
Membre
Dernière intervention
30 août 2003

En fait, heureusement que cette protection existe. Elle permet de te protéger de certaines pages web. Si tu peut lancer Excel en javascript, alors tu peux lancer pas mal d'application avec ce principe. Par exemple, ouvrir l'exporateur pour effacer des fichiers. Imagines un peu les dégats que cela pourrait causer. Tous les logiciels Microsoft fonctionnent avec des ActiveX, ainsi que Windows 2000 et XP qui en comportent pas mal. Je ne suis pas un hacker, mais aujourd'hui c facile avec Microsoft.
Messages postés
33
Date d'inscription
jeudi 17 août 2006
Statut
Membre
Dernière intervention
1 juin 2007

Bonjour,
désolé mais ça marche pas , le message d'erreur suivant apparait:

"L'export vers Excel ne fonctionne qu'avec un tableau"   poratant j'ai donner le id de tableau mais est ce que cette instruction et standar ou non "if (eSrc.tagName != 'TABLE') ".