Bonjour à tout,
Je tient avant tout a remercier d'avance toute les personnes qui donneront de leur temp pour me venir en aide.
Bon voila le probleme, je dois au cour d'un srcipt lancer un executable visual basic, il s'agit d'une fonction avec paramètre.
Je vais expliquer se que dois faire se script, il doit modifier des cellules specifiques d'un fichier excel, en parametre je lui donne le nom du fichier, et les information a mettre dans les cellules. Ces paramètres sont dans mon code php et je vais les transmettre au programme visual basic pour qu'il s'execute.
J'ai trouver sur se forum un fonction pour justement executer tout ca mais ca ne fonctionne pas. J'aimerai savoir si vous constatez une anomalie dans mon code ou si vous avez une meilleur solution
voila le détail de mon code
ma fonction visual basic :
la fonction php pour executer l'executable :Private Sub ModifierFichier(nomFichier As String, numero As Integer, bilan As String, client As String, ladate As String)
'------------------------------------------------------------------------
'Ce script VBS permet de modifier un fichier Excel puis de l'enregistrer.
'------------------------------------------------------------------------
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
'on ouvre le fichier
Set objWorkbook = objExcel.Workbooks.Open("O:\Test\" & nomFichier)
'on ouvre la premiere feuille
Set objWorksheet = objWorkbook.Worksheets(1)
objWorksheet.Cells(2, 4) = numero
objWorksheet.Cells(7, 5) = ladate
objWorksheet.Cells(6, 3) = client
objWorksheet.Range("A11:G29") = bilan
'on sauvegarde le classeur
objWorkbook.Save
objWorkbook.Close
'on ferme le fichier
objExcel.Quit
End Sub
et l'appel a cette fonction dans mon script php :function execInBackground($path, $exe, $args)
{
global $conf;
if (file_exists($path . $exe))
{
chdir($path);
if (substr(php_uname(), 0, 7) == "Windows")
{
pclose(popen("start \"bla\" \"" . $exe . "\" " . escapeshellarg($args), "r"));
}
else
{
exec("./" . $exe . " " . escapeshellarg($args) . " > /dev/null &");
}
}
}
include('fonctions.php');
//On utilise la fontion execInBackground définie dans fonction.php
$path="O:\Test\ModifierFichier";
$exec="ModifierFichier.exe";
$nomFichier=$newname;
$parametres=$nomFichier.",".$num.",".$bilan.",".$date;
execInBackground($path, $exec, $parametres);
Partager