AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
29.03.20 - 05:12:06
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  OLE/COM-Programmierung
| | |-+  LoNo --> MS Word - mal wieder.... (Tabelle)
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: LoNo --> MS Word - mal wieder.... (Tabelle)  (Gelesen 4697 mal)
C_T
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 272


« am: 29.05.08 - 15:47:57 »

Hallo alle zusammen,

ich muss mal wieder nerven...

Ich habe eine DB aus der ich die Dokumente in Word exportieren möchte. In den Dokumenten befinden sich feste (im Designer erstellte) Tabellen. Diese Tabellen sollen automatisch in Word erstellt werden.

Ich schaffe es schonmal eine Tabelle zu erstellen, jedoch habe ich im momment das Problem das ich die Spalte in Ihrer Breite nicht ändern kann.

Das Aufzeichnen bringt mir jetzt grade nicht so die erleuchtung und auch das www ist heute nicht mein Messiahs. Wink

folgender AUszug aus der MS Hilfe:

Zitat
Width (Eigenschaft)
Siehe auchBetrifftBeispielBesonderheitenFrameset-Objekt: Gibt die Breite des angegebenen Frameset-Objekts zurück oder legt sie fest. Long-Wert mit Lese-/Schreibzugriff. Die WidthType-Eigenschaft legt die Einheit fest, in der dieser Wert angegeben wird.

Alle anderen Objekte: Gibt die Breite des angegebenen Objekts (in Punkt) zurück oder legt sie fest. Long-Wert mit Lese-/Schreibzugriff.

Beispiel
In diesem Beispiel wird in einem neuen Dokument eine 5x5-Tabelle erstellt und dann die Breite der ersten Zelle auf 1,5 Zoll festgelegt.

Set newDoc = Documents.Add
Set myTable = _
    newDoc.Tables.Add(Range:=Selection.Range, NumRows:=5, _
    NumColumns:=5)
myTable.Cell(1, 1).Width = InchesToPoints(1.5)
      
In diesem Beispiel wird die Breite (in Zoll) der Zelle zurückgegeben, die die Einfügemarke enthält.

If Selection.Information(wdWithInTable) = True Then
    MsgBox PointsToInches(Selection.Cells(1).Width)
End If
      
In diesem Beispiel wird der Abschnitt, der die Markierung enthält, dreispaltig formatiert. Die Schleife For Each...Next wird zum Anzeigen der Breite der einzelnen Spalten in der TextColumns-Auflistung verwendet.

Selection.PageSetup.TextColumns.SetCount NumColumns:=3
For Each acol In Selection.PageSetup.TextColumns
    MsgBox "Width= " & PointsToInches(acol.Width)
Next acol
      
In diesem Beispiel werden die Breite und Höhe des Mircrosoft Word-Anwendungsfensters festgelegt.

With Application
    .WindowState = wdWindowStateNormal
    .Width = 500
    .Height = 400
End With
      
In diesem Beispiel wird die Breite des angegebenen Frameset-Objekts auf 25 Prozent der Fensterbreite festgelegt.

With ActiveWindow.ActivePane.Frameset
    .WidthType = wdFramesetSizeTypePercent
    .Width = 25
End With



Hier auch mein bisheriger Code:

Code:
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim session As New NotesSession
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim db As NotesDatabase
Dim view As NotesView
Dim WordApp As Variant
Dim WordDoc As Variant
Dim Insert As Variant
Dim LastParagraph As Variant
Dim Range As Variant

Set uidoc = workspace.CurrentDocument
Set db = session.CurrentDatabase
Set view = db.GetView("aNach Name")
Set doc = view.GetFirstDocument

If Not doc Is Nothing Then
Set WordApp = CreateObject("Word.Application") 
Call WordApp.documents.add()
Set WordDoc = WordApp.activedocument
Set Insert =  WordApp.Selection

WordApp.Visible = True 
Call WordApp.Activate

Set LastParagraph = WordDoc.Paragraphs(WordDoc.Paragraphs.Count).Range
Set Range = WordDoc.Range(LastParagraph.Start, LastParagraph.End)
Call WordDoc.Tables.Add(range,26,10)
End If
End Sub

VIELEN DANK FÜR EURE HILFE....

Gruß Christian
Gespeichert

Viele Grüße

Christian T.
animate
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 1540


Uh, I'm just gonna go find a cash machine.


WWW
« Antworten #1 am: 29.05.08 - 16:11:01 »

So solltest Du die ersten zwei Spalten der Tablelle auf die Größe 72pt bzw 144pt einstellen können:

Dim table as Variant

...

Set LastParagraph = WordDoc.Paragraphs(WordDoc.Paragraphs.Count).Range
Set Range = WordDoc.Range(LastParagraph.Start, LastParagraph.End)
Set table = WordDoc.Tables.Add(range,26,10)

table.Columns(1).Width = 72
table.Columns(2).Width = 144

Gespeichert

Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.
Werner Götz
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 168



« Antworten #2 am: 29.05.08 - 16:45:09 »

Ansonsten habe ich sowas dadurch gemacht, dass ich die Templates für die Tabellen als Autotext abspeichere und dann in der Routine die "fertige" Tabelle als Autotext einfüge.

Vielleicht auch eine Idee für Deinen Anwendungsfall?

-Werner
Gespeichert
C_T
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 272


« Antworten #3 am: 02.06.08 - 07:57:47 »

Super Leute

Vielen Dank.... Wie immer konntet Ihr super helfen... Vielen DANK

Gruß CT
Gespeichert

Viele Grüße

Christian T.
C_T
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 272


« Antworten #4 am: 02.06.08 - 08:17:26 »

Noch ne andere Frage,

wie kriege ich effektiv und am sinnvollsten Text in die einzelnen Tabellen zellen rein?

Gespeichert

Viele Grüße

Christian T.
Axel
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8658


It's not a bug, it's Notes


« Antworten #5 am: 02.06.08 - 08:36:40 »

Ich habe das in einem Dokument mit einer Tabelle mal so gelöst:

Set WordApp = CreateObject("Word.Application")              
Call WordApp.documents.add()
Set WordDoc = WordApp.activedocument   

'Einfügen des Textes in die 2.Zeile, 1.Spalte
WordDoc.Tables(1).Cell(2,1).Range = "Der Text wird in die Zelle eingefügt."


Axel
Gespeichert

Ohne Computer wären wir noch lange nicht hinterm Mond!
C_T
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 272


« Antworten #6 am: 02.06.08 - 09:25:03 »

Danke hatte es schon gefunden trotzdem nochmals vielen Dank....
Gespeichert

Viele Grüße

Christian T.
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: