AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Tabelle unter Word unsichtbar machen
Thema durchsuchen
Ansicht
Themen-Optionen

Tabelle unter Word unsichtbar machen

Ein Thema von Seven · begonnen am 10. Mai 2004 · letzter Beitrag vom 12. Mai 2004
Antwort Antwort
Seven

Registriert seit: 4. Dez 2003
44 Beiträge
 
Delphi 5 Enterprise
 
#1

Tabelle unter Word unsichtbar machen

  Alt 10. Mai 2004, 14:06
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:
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';
[edit=sakura] [delphi]-Tags Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
HaJo

Registriert seit: 28. Apr 2004
Ort: Würselen
140 Beiträge
 
Delphi 8 Enterprise
 
#2

Re: Tabelle unter Word unsichtbar machen

  Alt 10. Mai 2004, 14:54
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
Hans-Joachim Brosius
  Mit Zitat antworten Zitat
Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Tabelle unter Word unsichtbar machen

  Alt 10. Mai 2004, 15:05
Zitat von Word-Makroaufzeichnung:
Delphi-Quellcode:
WordTable.Borders(-1).LineStyle := 0; // Top
WordTable.Borders(-2).LineStyle := 0; // Left
WordTable.Borders(-3).LineStyle := 0; // Bottom
WordTable.Borders(-4).LineStyle := 0; // Right
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat
Seven

Registriert seit: 4. Dez 2003
44 Beiträge
 
Delphi 5 Enterprise
 
#4

Re: Tabelle unter Word unsichtbar machen

  Alt 10. Mai 2004, 15:06
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.
  Mit Zitat antworten Zitat
Seven

Registriert seit: 4. Dez 2003
44 Beiträge
 
Delphi 5 Enterprise
 
#5

Re: Tabelle unter Word unsichtbar machen

  Alt 10. Mai 2004, 15:17
Hallo Nico,

wenn ich das eintrage

WordTable.Borders(-1).LineStyle = 0; // Top

erhalte ich als Fehlermeldung "Borders ist keinme Methode"
  Mit Zitat antworten Zitat
HaJo

Registriert seit: 28. Apr 2004
Ort: Würselen
140 Beiträge
 
Delphi 8 Enterprise
 
#6

Re: Tabelle unter Word unsichtbar machen

  Alt 10. Mai 2004, 15:18
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
Hans-Joachim Brosius
  Mit Zitat antworten Zitat
Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Tabelle unter Word unsichtbar machen

  Alt 10. Mai 2004, 16:52
Ups, hab ich doch glatt vergessen bei der Zuweisung die Doppelpunkte zu ergänzen - jetzt stimmts.
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat
Seven

Registriert seit: 4. Dez 2003
44 Beiträge
 
Delphi 5 Enterprise
 
#8

Re: Tabelle unter Word unsichtbar machen

  Alt 11. Mai 2004, 07:35
danke Jungs für Eure Hilfe, aber leider klappt es immer noch nicht. Werde mir wohl etwas anderes ausdenken müssen.
  Mit Zitat antworten Zitat
Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Tabelle unter Word unsichtbar machen

  Alt 11. Mai 2004, 22:41
Ich kopier nie wieder VBA-Code nach Delphi.

Jetzt aber endgültig die richtige Lösung (getestet):
Delphi-Quellcode:
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
Entfernt die äußere Umrandung der Tabelle.
Einfacher gehts so:
Delphi-Quellcode:
WordTable.Borders.OutsideLineStyle := 0; // äußeren Rahmen entfernen
WordTable.Borders.InsideLineStyle := 0; // innere Rahmen entfernen
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat
HaJo

Registriert seit: 28. Apr 2004
Ort: Würselen
140 Beiträge
 
Delphi 8 Enterprise
 
#10

Re: Tabelle unter Word unsichtbar machen

  Alt 12. Mai 2004, 00:03
Kopieren solltest Du auch nicht (lach) - Nur die Funktionen von Winword testen
Wenn es jetzt aber klappt - Gut gemacht

Liebe Grüße
Jochen
Hans-Joachim Brosius
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:49 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