Hallo alle zusammen,
nach schreiben, lesen und drucken mit Excel ist diese Funktion noch brauchbar.
Makros in Excel ausführen:
function makro_from_Excel($filename, $makro)
{
//Kontrolle der Datei
if (file_exists($filename))
{
//Einbinden der COM-Klasse für Excel
$excel_app = new COM("Excel.application") or Die ("Did not connect");
//öffnen einer bestehenden Excel-Datei
$Workbook = $excel_app->Workbooks->Open("$filename") or Die("Did not open $filename $Workbook");
//Makro starten
$excel_app->Application->Run($makro);
//Datei speichern
$Workbook->Save;
//Schliessen der Excel-Instanz und freigeben des Speichers
//Willi wichtig!!!
$Workbook->Close;
unset($Worksheet);
unset($Workbook);
$excel_app->Workbooks->Close();
$excel_app->Quit();
unset($excel_app);
}
else
{
//Sonst -> Meldung
echo "The file $filename does not exist";
}
}
Einbinden ins Programm:
$filename = IPS_GetKernelDir()."meldungen\\ereignisse\\Test.xls";
$makro = "Makro3";
makro_from_Excel($filename, $makro);
Die Datei Test.xls muss natürlich mit dem Makro „Makro3“ existieren.
Bis dann
Martin