Makros in Excel ausführen

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