
Aktualisiert:Makro mit Fix aktualisiert.
Version: Outlook 2013
Ich möchte in der Lage sein...
- Ändern Sie die Schriftgröße des Textes in der Tabelle.(Erledigt)
- Entfernen Sie (deaktivieren Sie) die Attribute „Bevorzugte Breite“ aus den aktiven Attributen der Tabelle, Spalte und Zelle.
- Entfernen Sie (deaktivieren Sie) das Attribut „Angegebene Höhe“ aus den Zeilen der Tabelle.
Wenn ich aTbl.Columns.PreferredWidth = Unchecked
die Spalten komprimiere, wird ein Zeilenumbruch durchgeführt und das Kontrollkästchen nicht deaktiviert. Ich möchte, dass kein Zeilenumbruch durchgeführt wird.
Wenn ich AutoFit verwende, sieht es genauso aus wie aTbl.Columns.PreferredWidth = Unchecked
.
Wenn ich die Spalten einzeln einstelle, sieht es genauso aus wie aTbl.Columns.PreferredWidth = Unchecked
.
Musste die MS Word-Objektbibliothek importieren:
Was ich bisher habe:
Public Sub FormatSelectedText()
Dim objItem As Object
Dim objInsp As Outlook.Inspector
' Add reference to Word library in VBA Editor, Tools, References
Dim objWord As Word.Application
Dim objDoc As Word.Document
Dim objSel As Word.Selection
'On Error Resume Next
'Reference the current Outlook item
Set objItem = Application.ActiveInspector.CurrentItem
If Not objItem Is Nothing Then
If objItem.Class = olMail Then
Set objInsp = objItem.GetInspector
If objInsp.EditorType = olEditorWord Then
Set objDoc = objInsp.WordEditor
Set objWord = objDoc.Application
Set objSel = objWord.Selection
objSel.Font.Size = 8
Dim aTbl As Word.Table
For i = 1 To objSel.Tables.Count()
Set aTbl = objSel.Tables.Item(i)
aTbl.Borders.InsideLineStyle = wdLineStyleSingle
aTbl.Borders.OutsideLineStyle = wdLineStyleSingle
aTbl.Rows.Height = Unchecked
aTbl.Rows.AllowBreakAcrossPages = False
aTbl.Columns.PreferredWidth = Unchecked
aTbl.Columns.PreferredWidthType = wdPreferredWidthAuto
aTbl.PreferredWidth = Unchecked
Next
End If
End If
End If
Set objItem = Nothing
Set objWord = Nothing
Set objSel = Nothing
Set objInsp = Nothing
End Sub
So sieht es vor dem Skript aus:
Erwartetes Ergebnis:
Nach dem Ausführen ohne aTbl.Columns.PreferredWidth = Unchecked
(Schließen, aber Komprimieren der Spalten):
Nach dem Ausführen mit aTbl.Columns.PreferredWidth = Unchecked
(einfach … nein):
Beispiel für die Einstellungen, die geändert werden müssen, um die Tabelle richtig zu ändern:
Antwort1
Bei mir hat das funktioniert:
aTbl.Columns.PreferredWidth = Unchecked
aTbl.Columns.PreferredWidthType = wdPreferredWidthAuto