Word Tabelle LineStyle ändern - Hilfe beim Debuggen
-
Hi Leute,
ich bin es mal wieder, ach dem ihr mir geholfen habt eine Tabelle in Word über Ole zu erstellen, muß ich euch schon wieder mit diesem Thema belasten, da ich nicht weiter komme.
ich will, das die Tabellenlienie unsichtbar ist.
Dazu habe ich folgendes gefunden.WordApplication1.Selection.Tables.Item(1).Borders.Item(wdBorderLeft).LineStyle := wdLineStyleNonediesen Code habe ich versucht wie folgt umzuwandeln.
Variant wordTable1 = wordTables.OleFunction("Item",(Variant) 1); Variant border = wordTable1.OlePropertyGet("Borders"); Variant linestyle = border.OleFunction("Item",(Variant) wdBorderLeft); linestyle.OleFunction("LineStyle","wdLineStyleNone"); //hier meckert der rumkann mir jemand sagen, was an diesem Code falsch ist?
Ich danke euch für eure Hilfe schon mal im vorraus.
-
"Hier meckert der rum" ist keine ausreichende Fehlermeldung oder Problembeschreibung.
-
Die Fehlermeldung ist : "Ausnahmefehler aufgetreten."
-
kann mir keiner Helfen?
-
wdLineStyleNone gibt es soweit ich weiss nicht.
Du musst die entsprechende Konstante suchen.
versuch:
-4142
-
Hi,
das Funkt auch nicht, ich habe auch die include Dateien durchforstet aber nichts gefunden, was mich zum Ziel gebracht hat. In der Word_2k.h stehen zwar die Begriffe wdBorderLeft, wdLineStyleNone und sind auch als Type Definiert, aber, wenn ich die *.h-Datei einbinden und darauf zugreifen will bringt das nichts.
-
"... bringt das nichts" ist keine ausreichende Fehlermeldung oder Problembeschreibung.
-
Hi Leute, den Tipp von Andreas, habe ich mir noch mal zu Herzen genommen und habe meine Fehler gefunden, der Richtige Code lautet:
//--*.cpp--------------------------------------------------------------------- #include <vcl.h> #include <utilcls.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //---Variant Variabeln------------------------------------------------------- Variant word,documents,doc,Tables,Selection,Range; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::ConnectClick(TObject *Sender) { //---MS Word connecten----------------------- word = CreateOleObject("Word.Application"); word.OlePropertySet("Visible",1); documents = word.OlePropertyGet("Documents"); documents.OleProcedure("Add"); doc = word.OlePropertyGet("ActiveDocument"); } //--------------------------------------------------------------------------- void __fastcall TForm1::TabelleClick(TObject *Sender) { //---Tabelle zeichnen-------------------------------------- Tables = doc.OlePropertyGet("Tables"); Selection = word.OlePropertyGet("Selection"); Range = Selection.OlePropertyGet("Range"); Tables.OleProcedure("Add", Range, (Variant) 3,(Variant) 5); } //--------------------------------------------------------------------------- void __fastcall TForm1::TabellenlinienClick(TObject *Sender) { //---Rahmenlinie bearbeiten----------------------------------------- Variant wordTable1 = Tables.OleFunction("Item",(Variant) 1); Variant border = wordTable1.OlePropertyGet("Borders"); Variant Test = border.OleFunction("Item",(Variant) 0xFFFFFFFE); // wdBorderLeft = 0xFFFFFFFE Test.OlePropertySet("LineStyle",(Variant) 0); // wdLineStyleNone = 0 } //---------------------------------------------------------------------------//---------*.h--------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <OleServer.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TButton *Connect; TButton *Tabellenlinien; TButton *Tabelle; void __fastcall ConnectClick(TObject *Sender); void __fastcall TabelleClick(TObject *Sender); void __fastcall TabellenlinienClick(TObject *Sender); private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endifAlso Danke noch mal für eure Hilfe.
-
Hallo xXx,
hast du auch ein Möglichkeit gefunden die Tabelle mit Daten zu füllen.
Bzw. aus einer Datenbank auszulesen und die einzelnen Zellen zu füllen?
Wäre super wenn du schreiben würdest, bin nämlich mit meinem Latein am Ende.Danke!