J'utilise QT 4.5.3 et Windows XP. J'ai besoin de ma demande pour générer des documents contenant les informations utilisées et générées. Les informations utilisées ne seront que des chaînes ( Je veux que les documents soient un document MS Word ( J'ai fait la création Y a-t-il un moyen de générer de tels documents en utilisant toutes les autres bibliothèques utilisant C ++? Comment vous utilisez les gars pour générer de tels documents ( .odt strong> /. doc strong>) en C ++? Tous les pointeurs, liens, exemples concernant cela sont les bienvenus. P> qstring code> être plus spécifiques) et les informations générées seront .doc code>) ou peut être un format de document ouvert ( .Odt code>) aussi je veux que les documents soient formatés avec qtextDocument code>, qtextcursor code> et qprinter code>. Mais quand j'ai essayé d'appliquer le même qtextdocument code> pour
3 Réponses :
Peut-être que vous pouvez utiliser cela et écrire dans un fichier au format ODF http: // doc.trolltech.com/4.6/qtextdocumentwriter.html#supporteddocumentformats Qt ne sait pas comment produire Doc DocX, etc., mais vous pouvez utiliser COM (ActiveQT) ou une autre bibliothèque à écrire dans ces formats ou d'autres formats dont vous avez besoin p>
Je l'ai fait via le La documentation de référence pour Documentation MSDN , qui a effectivement pointé vers le fichier L'application Word peut être initialisée par p> Les sous-objets de l'application Word peuvent être obtenus via la fonction, p> pour par exemple: p> pour transmettre le sous-objet obtenu sous forme d'argument, P> qt code> way. c'est-à-dire en utilisant le module activeqt code>. vbawd10.chm code> qui contient les API ActiveX pour MS Word. p> activeDocument->dynamicCall("Close(void)");
Pour moi, une meilleure façon d'automatiser les applications de bureau importe le modèle d'objet de la bibliothèque de type MS Word Com dans le projet C ++. Ceci est très similaire au EXEMPLE QUTLOOK pour le Demande Outlook. Vous pouvez extrapoler la technique sur Excel et PowerPoint si vous le souhaitez, à l'aide d'OLEVIEW.EXE pour obtenir les GUID de la bibliothèque. ici est un projet complet à GitHub.
Le fichier de projet QMake: p>
#include <QApplication>
#include <QStandardPaths>
#include <QDir>
#include "MSWORD.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Word::Application word;
if (!word.isNull()) {
word.SetVisible(false);
Word::Documents* docs = word.Documents();
Word::Document* newDoc = docs->Add();
Word::Paragraph* p = newDoc->Content()->Paragraphs()->Add();
p->Range()->SetText("Hello Word Document from Qt!");
p->Range()->InsertParagraphAfter();
p->Range()->SetText("That's it!");
QDir outDir(QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation));
QVariant fileName = outDir.absoluteFilePath("wordaut.docx");
QVariant format = Word::wdFormatXMLDocument;
newDoc->SaveAs2(fileName, format);
QVariant fileName2 = outDir.absoluteFilePath("wordaut2.doc");
QVariant format2 = Word::wdFormatDocument;
newDoc->SaveAs2(fileName2, format2);
newDoc->Close();
word.Quit();
}
return 0;
}