Qt & Ms Excel 2010 [gelöst]
Verfasst: 26. Mai 2012 15:39
Bitte um Hilfe!
Ich möchte in ein bestehendes MS-Excel File V2010 (mit makros) Daten wie zB Text und Zahlen eintragen.
Ich habe dazu einige Einträge gelesen komme leider auf keinen grünen Zweig.
Die Implemtierung soll via ActiveX passieren, das Excel-Sheet lässt sich samt der Makros problemlos öffnen, jedoch mit dem Eintragen von Daten (Zahlen und Text)
kommt es im Debugger Modus zu folgenden Fehler: "Der Prozess wurde nach Erhalt eines Signals vom Betriebssystem angehalten" - SIGSEGV, Bedeutung: Segmentation fault.
Die Implementierung ist wie folgt:
*.h
*.cpp
BIn für jeden hilfreichen Input dankbar!
LG
thc2_67
Ich möchte in ein bestehendes MS-Excel File V2010 (mit makros) Daten wie zB Text und Zahlen eintragen.
Ich habe dazu einige Einträge gelesen komme leider auf keinen grünen Zweig.
Die Implemtierung soll via ActiveX passieren, das Excel-Sheet lässt sich samt der Makros problemlos öffnen, jedoch mit dem Eintragen von Daten (Zahlen und Text)
kommt es im Debugger Modus zu folgenden Fehler: "Der Prozess wurde nach Erhalt eines Signals vom Betriebssystem angehalten" - SIGSEGV, Bedeutung: Segmentation fault.
Die Implementierung ist wie folgt:
*.h
Code: Alles auswählen
#ifndef SPIEL_REPORT_EXCEL_H
#define SPIEL_REPORT_EXCEL_H
#include <QObject>
#include <ActiveQt/QAxBase>
#include <ActiveQt/QAxObject>
#include "config.h"
class Spiel_Report_Excel : public QObject
{
Q_OBJECT
public:
Spiel_Report_Excel(QObject *parent = 0);
void generate_report();
signals:
public slots:
protected:
QAxObject *excel;
Config *ishConfig, *rescueGame;
};
#endif // SPIEL_REPORT_EXCEL_HCode: Alles auswählen
#include <QFile>
#include "spiel_report_excel.h"
#include "defines.h"
Spiel_Report_Excel::Spiel_Report_Excel(QObject *parent) :
QObject(parent)
{
ishConfig = new Config(CFG_MAIN_FILENAME);
rescueGame = new Config(CFG_RESCUE_GAME_FILE);
ishConfig->loadfromFile();
rescueGame->loadfromFile();
}
void Spiel_Report_Excel::generate_report()
{
excel = new QAxObject("Excel.Application",0);
excel->setProperty("DisplayAlerts", false);
excel->setProperty("Visible",true);
QString datei = ishConfig->getValue(CFG_ISHMANAGER_DIR) + "/" + CFG_GAME_REPORT_TEMPLATE;
QFile * file = new QFile(datei);
QAxObject *workbooks = excel->querySubObject("Workbooks");
if(file->exists()) {
workbooks->dynamicCall("Open (const QString&)", datei);
QAxObject *worksheet = workbooks->querySubObject("Worksheets(int)", 1);
QAxObject *cell = worksheet->querySubObject("Cells(Int,Int)",4,13); //HIER KOMMT ES ZUM FEHLER WIE OBEN BESCHRIEBEN
int intVal;
}
}
LG
thc2_67