Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ouverture de DOC WORD

6 réponses
Avatar
Phil
Bonsoir,

Dans une application de gestion de doc word (HTML, JAVASCRIPT, PHP, MySQL)
je doit ouvrir les DOC a partire d'une selection dans une liste deroulante
puis un clic sur in bouton qui appel la fonction AffiDoc().

Cette fonction ouvre un (petite) fenetre dans laquelle un script php cré un
fichier DOS
ouv_doc.bat contenant (exemple) :
start winword "W:\Demo\documents\DD-VS-4-06-8-D1.doc"

puis la ligne location.href="ouv_doc.bat"; execute ce sripte DOS et word
s'ouvre et charge le document sans PB !


si la ligne while(fba.closed==false){} est en remarque, 9 fois sur 10 le
fichier ouv_doc.bat
n'est pas pres pour l'execution location.href="ouv_doc.bat"; ou alors c'est
le DOC WORD precedement ouvert qui se reouvre !

Si j'execute la ligne while(fba.closed==false){} cela marche (attende de la
fin du scripte php et fermeture de la (petite) fenetre puis execution de
location.href="ouv_doc.bat";
mais sur des postes peut puissant (PIII 1000/ 256mo) la fermeture de la
fenetre prend 1 a 25 seconde aleatoirement alors que sur des postes recent
(P4 3.2, 512Mo) cela est quasiment instantanée.


function AffiDoc()
{
if(document.devis.NumDoss.value!=0) //Indexe de la liste deroulante
{
NomDoc = document.devis.NumDoss.value;
fba=window.open('ouv_doc.php?WordDoc='+NomDoc,"","width=10,
height=10,toolbar=0,location=0,directories=0,
status=0,menubar=0,scrollbars=auto,resizable=0");
//while(fba.closed==false){}
location.href="ouv_doc.bat";
}
else
alert("Veuillez selectionner un document");
}

avez vous une autre solution ou explication ?

Merci d'avance pour votre aide

Phil

6 réponses

Avatar
Phil
Pour info le code PHP de creation de ouv_doc.bat

<?php
$fichier = fopen("ouv_doc.bat","w");
$fichier = fopen($FichNom,"w");
$tmp='start winword "'.$PathWin.$WordDoc.'"';
fwrite($fichier,"$tmpn");
fclose($fichier);
echo("<script Language="JavaScript">window.close();</script>");
?>

"Phil" a écrit dans le message de news:
45469d60$0$27379$
Bonsoir,

Dans une application de gestion de doc word (HTML, JAVASCRIPT, PHP, MySQL)
je doit ouvrir les DOC a partire d'une selection dans une liste deroulante
puis un clic sur in bouton qui appel la fonction AffiDoc().

Cette fonction ouvre un (petite) fenetre dans laquelle un script php cré
un fichier DOS
ouv_doc.bat contenant (exemple) :
start winword "W:DemodocumentsDD-VS-4-06-8-D1.doc"

puis la ligne location.href="ouv_doc.bat"; execute ce sripte DOS et word
s'ouvre et charge le document sans PB !


si la ligne while(fba.closed=úlse){} est en remarque, 9 fois sur 10 le
fichier ouv_doc.bat
n'est pas pres pour l'execution location.href="ouv_doc.bat"; ou alors
c'est le DOC WORD precedement ouvert qui se reouvre !

Si j'execute la ligne while(fba.closed=úlse){} cela marche (attende de
la fin du scripte php et fermeture de la (petite) fenetre puis execution
de location.href="ouv_doc.bat";
mais sur des postes peut puissant (PIII 1000/ 256mo) la fermeture de la
fenetre prend 1 a 25 seconde aleatoirement alors que sur des postes recent
(P4 3.2, 512Mo) cela est quasiment instantanée.


function AffiDoc()
{
if(document.devis.NumDoss.value!=0) //Indexe de la liste deroulante
{
NomDoc = document.devis.NumDoss.value;
fba=window.open('ouv_doc.php?WordDoc='+NomDoc,"","width,

height,toolbar=0,location=0,directories=0,

status=0,menubar=0,scrollbars=auto,resizable=0");
//while(fba.closed=úlse){}
location.href="ouv_doc.bat";
}
else
alert("Veuillez selectionner un document");
}

avez vous une autre solution ou explication ?

Merci d'avance pour votre aide

Phil



Avatar
ASM
Cette fonction ouvre un (petite) fenetre dans laquelle un script php cré un
fichier DOS
ouv_doc.bat contenant (exemple) :
start winword "W:DemodocumentsDD-VS-4-06-8-D1.doc"

puis la ligne location.href="ouv_doc.bat"; execute ce sripte DOS et word
s'ouvre et charge le document sans PB !

si la ligne while(fba.closed=úlse){} est en remarque, 9 fois sur 10 le
fichier ouv_doc.bat
n'est pas pres pour l'execution location.href="ouv_doc.bat"; ou alors c'est
le DOC WORD precedement ouvert qui se reouvre !


var fba = false;

function Affidoc() {
// une vraiment petite petite fenêtre ! !
var attr = 'width,height,satus=0,scrollbars=0'
if(document.devis.NumDoss.value!=0) {
NomDoc = document.devis.NumDoss.value;
if(!fba || fba.closed) // popup fermé ?
fba = window.open('','',attr); // hop! popup vide
// instruction attente
fba.onload = function() { location.href = 'ouv_doc.bat'; }
fba.location = 'ouv_doc.php?WordDoc='+NomDoc; // remplissage popup
fba.focus()
}
else
alert("Veuillez selectionner un document");
}

avez vous une autre solution ou explication ?


explication : faut laisser le temps au temps
solution : on attend la fin du chargement pour appeler Word au s'cours

Avatar
Phil
Merci pour ta reponse,

Je test ça demain !

Phil

"ASM" a écrit dans le message
de news: 4546a2e2$0$5084$
Cette fonction ouvre un (petite) fenetre dans laquelle un script php cré
un fichier DOS
ouv_doc.bat contenant (exemple) :
start winword "W:DemodocumentsDD-VS-4-06-8-D1.doc"

puis la ligne location.href="ouv_doc.bat"; execute ce sripte DOS et word
s'ouvre et charge le document sans PB !

si la ligne while(fba.closed=úlse){} est en remarque, 9 fois sur 10 le
fichier ouv_doc.bat
n'est pas pres pour l'execution location.href="ouv_doc.bat"; ou alors
c'est le DOC WORD precedement ouvert qui se reouvre !


var fba = false;

function Affidoc() {
// une vraiment petite petite fenêtre ! !
var attr = 'width,height,satus=0,scrollbars=0'
if(document.devis.NumDoss.value!=0) {
NomDoc = document.devis.NumDoss.value;
if(!fba || fba.closed) // popup fermé ?
fba = window.open('','',attr); // hop! popup vide
// instruction attente
fba.onload = function() { location.href = 'ouv_doc.bat'; }
fba.location = 'ouv_doc.php?WordDoc='+NomDoc; // remplissage popup
fba.focus()
}
else
alert("Veuillez selectionner un document");
}

avez vous une autre solution ou explication ?


explication : faut laisser le temps au temps
solution : on attend la fin du chargement pour appeler Word au s'cours




Avatar
ASM
Pour info le code PHP de creation de ouv_doc.bat


et pour Mac ? tu n'as rien pour Mac ?

Avatar
kurtz le pirate
In article <45469d60$0$27379$,
"Phil" wrote:

Bonsoir,

Dans une application de gestion de doc word (HTML, JAVASCRIPT, PHP, MySQL)
je doit ouvrir les DOC a partire d'une selection dans une liste deroulante
puis un clic sur in bouton qui appel la fonction AffiDoc().

Cette fonction ouvre un (petite) fenetre dans laquelle un script php cré un
fichier DOS
ouv_doc.bat contenant (exemple) :
start winword "W:DemodocumentsDD-VS-4-06-8-D1.doc"


et directement un lien : <a
href="W:DemodocumentsDD-VS-4-06-8-D1.doc">DD-VS-4-06-8-D1.doc</a>
c'est pas plus simple ?





--
klp

Avatar
ASM
In article <45469d60$0$27379$,
"Phil" wrote:
Cette fonction ouvre un (petite) fenetre dans laquelle un script php cré un
fichier DOS
ouv_doc.bat contenant (exemple) :
start winword "W:DemodocumentsDD-VS-4-06-8-D1.doc"


et directement un lien : <a
href="W:DemodocumentsDD-VS-4-06-8-D1.doc">DD-VS-4-06-8-D1.doc</a>
c'est pas plus simple ?


C'est un peu ce que je me disais aussi, mais je suppose que :
- le php a du boulot à faire avant de pondre la 'tite ligne.
- il est nécessaire et indispensable d'écarter les intruts non DOS.

D'autant que, si y a pas absolument à faire réfléchir le php, en JS le
sélecteur pouvait faire le boulot d'un coup d'un seul ...

<select onchange="location=this[this.selectedIndex].value">
<option>Documents Word : Démos 4/06</option>
<option value="W:DemodocumentsDD-VS-4-06-8-D1.doc">8-D1</option>