VBScript Tabelle bearbeiten

  • VBScript

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Baltaza288.

    VBScript Tabelle bearbeiten

    Hallo ich bin neu in der Programmierung. Ich soll eine Signatur für Outlook in VBScript nachbauen.

    Dazu habe ich mir eine Tabelle gebaut welche folgendermaßen aussehen sollte:

    Ein ...
    Text
    Text
    Text
    Bild
    Text
    Text

    Nun meine Fragen:

    1. Ich würde gerne die beiden Zellen 1.1 ("Ein") und 2.1 ("Bild") zu einer Zelle zusammenfügen.

    2. In den Zellen 1.2 und 2.2 soll Text mit Zeilenumbruch rein. Allerdings macht "aNewLine" einen zu großen Zeilenabstand. Kann ich den irgendwo verringern?

    Mit Codebeispielen wäre mir wirklich sehr geholfen.

    Danke schon mal im Vorraus.
    Bist Du wirklich bei VBScript oder vielleicht doch bei VBA (VB for Applications), welches in Outlook, Excel und Co. verfügbar ist?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Okay also mit

    objTable.Columns(1).Cells.Merge

    kann ich die komplette 1. Spalte verbinden.

    Nun hat sich allerdings mein Arbeitsauftrag verändert. Ich soll jetzt folgende Tabelle bauen:

    Diese Zelle
    Text in 3 Zeilen
    mit dieser verbinden
    Text in 2 Zeilen
    Hier Text

    Hier auch Text

    Diese Zelle
    mit dieser verbinden

    Also bleibt mein Problem bestehen 2 Zellen miteinander verbinden zu müssen.

    Dazu kommt noch das Problem mit dem Zeilenabstand.

    Alles in VBScript nicht VBA.
    Hier mal ein kleines Beispiel:

    objSelection.TypeParagraph()

    'Tabelle mit 2 Spalten und 2 Zeilen erstellen
    Set objRange = objSelection.Range
    objDoc.Tables.Add objRange, 2, 2
    Set objTable = objDoc.Tables(1)

    objTable.Columns(1).Width = objWord.CentimetersTopoints (8)
    'Spalte 1 zu einer Zelle zusammenführen
    objTable.Columns(1).Cells.Merge
    'in Zelle 1.1 ein Bild einfügen
    objTable.Cell(1, 1).Range.InlineShapes.AddPicture "C:\Users\picture.jpg"

    'Text in Zelle 1.2 einfügen
    objTable.Columns(2).PreferredWidth = 500
    objTable.Cell(1, 2).Range.Font.Name = "Tahoma"
    objTable.Cell(1, 2).Range.Font.Size = 8
    objTable.Cell(1, 2).Range.Font.Color = RGB (34,139,34) 'green
    objTable.Cell(1, 2).Range.Text = "Text Nummer 1"

    'Text in Zelle 1.2 einfügen
    objTable.Cell(2, 2).Range.Font.Name = "Tahoma"
    objTable.Cell(2, 2).Range.Font.Size = 9
    objTable.Cell(2, 2).Range.Font.Color = RGB(77,77,77) 'grey
    objTable.Cell(2, 2).Range.Text = "Text Nummer 2"
    objTable.Cell(2, 2).Range.ParagraphFormat.Alignment = 0

    Baltaza288 schrieb:

    Alles in VBScript nicht VBA
    Blödsinn.
    Das ist Word-VBA!

    Baltaza288 schrieb:

    In den Zellen 1.2 und 2.2 soll Text mit Zeilenumbruch rein. Allerdings macht "aNewLine" einen zu großen Zeilenabstand. Kann ich den irgendwo verringern?

    Visual Basic-Quellcode

    1. ​objTable.Cell(2, 2).Range.Text = "Text1" & vbCrLf & "Text2"
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    @petaod: Zwar wurde Deine Frage noch nicht beantwortet, was objTable nun ist, aber interessant wäre auch zu erfahren, wie objDoc und Co, also die allerersten Objekte definiert sind, (@TE: also die erste Wertzuweisung). Es würde mich echt nicht wundern, wenn hier (warum auch immer) tatsächlich mit VBScript hantiert wird. Sieht auf Anhieb zwar nach einem Pfeil-Brust-Auge-Konstrukt aus (da Office mit VBA ja eigentlich naheliegender wäre, wenn man schon mit Outlook und Co rumhantiert), aber wir kennen ja Ursprung des Gedanken nicht.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    VaporiZed schrieb:

    Es würde mich echt nicht wundern, wenn hier (warum auch immer) tatsächlich mit VBScript hantiert wird.
    Stimmt.
    Theoretisch könnte es auch VBScript sein.
    Wenn irgendwo ein CreateObject("Word.Application") auftaucht und die restlichen Objekte daraus gewonnen werden, würde das darauf hindeuten.
    Jedenfalls scheint es sich letztendlich um Word-Objekte zu handeln.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Baltaza288 schrieb:

    Hier mal ein kleines Beispiel:

    objSelection.TypeParagraph()

    'Tabelle mit 2 Spalten und 2 Zeilen erstellen
    Set objRange = objSelection.Range
    objDoc.Tables.Add objRange, 2, 2
    Set objTable = objDoc.Tables(1)

    objTable.Columns(1).Width = objWord.CentimetersTopoints (8)
    'Spalte 1 zu einer Zelle zusammenführen
    objTable.Columns(1).Cells.Merge
    'in Zelle 1.1 ein Bild einfügen
    objTable.Cell(1, 1).Range.InlineShapes.AddPicture "C:\Users\picture.jpg"

    'Text in Zelle 1.2 einfügen
    objTable.Columns(2).PreferredWidth = 500
    objTable.Cell(1, 2).Range.Font.Name = "Tahoma"
    objTable.Cell(1, 2).Range.Font.Size = 8
    objTable.Cell(1, 2).Range.Font.Color = RGB (34,139,34) 'green
    objTable.Cell(1, 2).Range.Text = "Text Nummer 1"

    'Text in Zelle 1.2 einfügen
    objTable.Cell(2, 2).Range.Font.Name = "Tahoma"
    objTable.Cell(2, 2).Range.Font.Size = 9
    objTable.Cell(2, 2).Range.Font.Color = RGB(77,77,77) 'grey
    objTable.Cell(2, 2).Range.Text = "Text Nummer 2"
    objTable.Cell(2, 2).Range.ParagraphFormat.Alignment = 0


    Dieses Ergebnis hier.