Buchenberg
Grünschnabel
Hallo zusammen,
nach ewiger erfolgloser Suche, möchte ich nun hier um euren Rat bitten.
Ich möchte aus einer C/C++-Applikation heraus ein Excelfile starten, das ein Makro enthält. Habe im Netz ein Stück Visual Basic Code dazu zwar gefunden, habe aber keine Ahnung, wie ich den Code in Visual C++ umschreiben muss.
Da ich noch nicht all zuviel in C/C++ programmiert habe, bitte ich um Nachsicht. Dieses Programm von mir erstellt eine Textdatei, das das Makro in Excel umwandeln soll in ein Diagramm. Das Excelfile existiert und arbeitet korrekt. Nur der Aufruf aus dem C-Programm funktioniert noch nicht.
Hier der BeispielCode den ich gefunden habe:
Variant Excel;
// versuche Excel zu öffnen,
// falls schon offen -> OK
// falls geschlossen -> erzeuge neue Instanz
try
{
// Excel ist bereits geöffnet
Excel = GetActiveOleObject("Excel.Application");
}
catch(...)
{
// Excel ist noch nicht geöffnet
Excel = CreateOleObject("Excel.Application");
}
// versuche die Excel-Datei zu öffnen
// und das Makro "Mein_Makro" auszuführen
try
{
// Variablendeklaration
Variant WorkBooks;
// ermittle alle Workbooks
WorkBooks = Excel.OlePropertyGet("WorkBooks");
// öffne die Excel-Datei
WorkBooks.OleFunction("Open", "C:\\Temp\\Makro_Test.xls");
// führe Makro aus
Excel.OleFunction("Run", "Mein_Makro");
// mache Excel sichtbar
Excel.OlePropertySet("Visible", true);
}
// Fehlerbehandlung
catch(...)
{
// schliesse Excel-Datei
Excel.OleFunction("Quit");
Excel = Unassigned;
}
Kann mir jemand helfen?
Vielen Dank im voraus.
Gruß Buchenberg
nach ewiger erfolgloser Suche, möchte ich nun hier um euren Rat bitten.
Ich möchte aus einer C/C++-Applikation heraus ein Excelfile starten, das ein Makro enthält. Habe im Netz ein Stück Visual Basic Code dazu zwar gefunden, habe aber keine Ahnung, wie ich den Code in Visual C++ umschreiben muss.
Da ich noch nicht all zuviel in C/C++ programmiert habe, bitte ich um Nachsicht. Dieses Programm von mir erstellt eine Textdatei, das das Makro in Excel umwandeln soll in ein Diagramm. Das Excelfile existiert und arbeitet korrekt. Nur der Aufruf aus dem C-Programm funktioniert noch nicht.
Hier der BeispielCode den ich gefunden habe:
Variant Excel;
// versuche Excel zu öffnen,
// falls schon offen -> OK
// falls geschlossen -> erzeuge neue Instanz
try
{
// Excel ist bereits geöffnet
Excel = GetActiveOleObject("Excel.Application");
}
catch(...)
{
// Excel ist noch nicht geöffnet
Excel = CreateOleObject("Excel.Application");
}
// versuche die Excel-Datei zu öffnen
// und das Makro "Mein_Makro" auszuführen
try
{
// Variablendeklaration
Variant WorkBooks;
// ermittle alle Workbooks
WorkBooks = Excel.OlePropertyGet("WorkBooks");
// öffne die Excel-Datei
WorkBooks.OleFunction("Open", "C:\\Temp\\Makro_Test.xls");
// führe Makro aus
Excel.OleFunction("Run", "Mein_Makro");
// mache Excel sichtbar
Excel.OlePropertySet("Visible", true);
}
// Fehlerbehandlung
catch(...)
{
// schliesse Excel-Datei
Excel.OleFunction("Quit");
Excel = Unassigned;
}
Kann mir jemand helfen?
Vielen Dank im voraus.
Gruß Buchenberg