Tabelle unter Word unsichtbar machen
Hallo zusammen,
Ich habe momentan folgendes Proble. Ich habes es geschafft mit Word über Delphi ein Dokument zu erstellen. In diesem Dokument befindet sich eine Tabelle. Das Problem ist, das diese Tabelle einen Rahmen besitzt, der aber nicht mit gedruckt werden soll. Weiss jemand von Euch was ich eintragen muss, damit diese Tabelle keine sichtbaren Rahmen besitzt? Mein Quellcode:
Delphi-Quellcode:
[edit=sakura] [delphi]-Tags Mfg, sakura[/edit]
var
Word, WordTable, T: OLEVariant; begin try Word := CreateOleObject('Word.Application'); except ShowMessage('Cannot start Word !'); Exit; end; // Show Word Word.Visible := True; // Add a new Document Word.Documents.Add; WordTable := word.ActiveDocument.Tables.Add(word.selection.range, NumRows := 2, NumColumns := 4); WordTable.Range.font.name := 'Tahoma'; WordTable.Range.font.size := 10; WordTable.Cell(1, 1).Range.font.Bold := true; WordTable.Cell(1, 1).Range.Text := 'TEST'; |
Re: Tabelle unter Word unsichtbar machen
Hallo Seven,
ich arbeite seit langem mit Delphi und steuere damit Winword und WordPerfect "fern". Der Riesenunterschied zwischen den beiden Programmen ist der Name :-) WordPerfect wird seinem Namen als Textverarbeitung voll und ganz gerecht - Winword hingegen ist immer noch ein besserer Editor - weil es eben "zeilenorientiert" arbeitet. Deswegen mein Tip für Winword - benutze die VB-Macrofunktion um herauszufinden ob sich Dein Vorhaben überhaupt "automatisieren" läßt. Zeichne also einfach ein VB-Macro auf. Klappt es per VB-Macro - versuche anschließend in der Winword-Bibliothek die entsprechenden Funktionen zu finden. Alternativ kannst Du auch mit WWApp.Run'MacroName') das vorhandene VB-Macro sofort ausführen. Dazu ein Beispiel: try //Dokumentschutz ausschalten TRY WWDoc.ConnectTo(WWApp.Documents.Item(ItemIndex)); WWDoc.Unprotect(PWort); except end; // VB-Macro ausführen WWApp.Run('SucheNachrichtlich'); FirstTime := False; SPBNachrichtlich.Caption := 'In nachrichtliche Textbox'; except WWApp.Disconnect; MessageDlg('Bitte Dokumentschutz abschalten', mtError, [mbOk], 0); Exit; end; Lieben Gruß und viel Erfolg Jochen |
Re: Tabelle unter Word unsichtbar machen
Zitat:
|
Re: Tabelle unter Word unsichtbar machen
Hallo HaJo,
danke für den Hinweis. Ich habe schon ein Marco erstellt und auch in meinem Quellcode eingebunden, doch leider verändert sich der Rahmen der Tabelle nicht. Ich weiss solangsam nicht mehr weiter. Ich mit Sicherheit irgendeine Kleinigkeit, die ich übersehen habe. |
Re: Tabelle unter Word unsichtbar machen
Hallo Nico,
wenn ich das eintrage WordTable.Borders(-1).LineStyle = 0; // Top erhalte ich als Fehlermeldung "Borders ist keinme Methode" |
Re: Tabelle unter Word unsichtbar machen
Versuche es mal auf diese Art - ist allerdings ein Office2003
With Selection.Tables(1) .Borders(wdBorderLeft).LineStyle = wdLineStyleNone .Borders(wdBorderRight).LineStyle = wdLineStyleNone .Borders(wdBorderTop).LineStyle = wdLineStyleNone .Borders(wdBorderBottom).LineStyle = wdLineStyleNone .Borders(wdBorderHorizontal).LineStyle = wdLineStyleNone .Borders(wdBorderVertical).LineStyle = wdLineStyleNone .Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone .Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone .Borders.Shadow = False End With With Options .DefaultBorderLineStyle = wdLineStyleSingle .DefaultBorderLineWidth = wdLineWidth050pt .DefaultBorderColor = wdColorAutomatic End With |
Re: Tabelle unter Word unsichtbar machen
:oops: Ups, hab ich doch glatt vergessen bei der Zuweisung die Doppelpunkte zu ergänzen - jetzt stimmts.
|
Re: Tabelle unter Word unsichtbar machen
danke Jungs für Eure Hilfe, aber leider klappt es immer noch nicht. Werde mir wohl etwas anderes ausdenken müssen.
|
Re: Tabelle unter Word unsichtbar machen
:wall: Ich kopier nie wieder VBA-Code nach Delphi.
Jetzt aber endgültig die richtige Lösung (getestet):
Delphi-Quellcode:
Entfernt die äußere Umrandung der Tabelle.
WordTable.Borders.Item(-1).LineStyle := 0; // Top
WordTable.Borders.Item(-2).LineStyle := 0; // Left WordTable.Borders.Item(-3).LineStyle := 0; // Bottom WordTable.Borders.Item(-4).LineStyle := 0; // Right Einfacher gehts so:
Delphi-Quellcode:
WordTable.Borders.OutsideLineStyle := 0; // äußeren Rahmen entfernen
WordTable.Borders.InsideLineStyle := 0; // innere Rahmen entfernen |
Re: Tabelle unter Word unsichtbar machen
Kopieren solltest Du auch nicht (lach) - Nur die Funktionen von Winword testen :-)
Wenn es jetzt aber klappt - Gut gemacht :-) Liebe Grüße Jochen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz