09.02.2016, 11:36
Guten Tag,
ich habe einen Quellcode mit dem ich verschiedene Bereiche von Excel nach Word kopiere. Das Problem ist, das die Tabellen-Zeilen-Höhe zu groß ist.
Beim manuellen bearbeiten ist mir aufgefallen das die Zeilenhöhe zwar bei 0,5 cm ist, aber die Auswahl daneben auf "Mindestens" steht und
nicht auf "Genau". Bei "Genau" wäre die Formatierung genau so, wie ich sie haben will. Ich habe schon den Makrorecoder angeschaltet in Word und
den daraus resultierenden Code versucht in meinem Excel Code zu verarbeiten. Dies allerdings war nicht erfolgreich.
Lange Rede kurzer Unsinn, wie kann ich in Excel, nach dem er die ganzen Bereiche kopiert hat,
alle Tabellen in Word makieren und deren Zeilenhöhe auf "Genau" 0,5 cm machen.
Folgender Code kopiert die Bereiche nach Word:
Folgender Code ist aus dem Makrorecorder in Word:
PS: Falls möglich wäre es nett wenn ihr mir sagen könntet wie man die Zwischenablage entfernen kann nach dem Prozess, damit beim Schließen keine unnötigen Abfragen entstehen.
Mit freundlichen Grüßen
Joe
ich habe einen Quellcode mit dem ich verschiedene Bereiche von Excel nach Word kopiere. Das Problem ist, das die Tabellen-Zeilen-Höhe zu groß ist.
Beim manuellen bearbeiten ist mir aufgefallen das die Zeilenhöhe zwar bei 0,5 cm ist, aber die Auswahl daneben auf "Mindestens" steht und
nicht auf "Genau". Bei "Genau" wäre die Formatierung genau so, wie ich sie haben will. Ich habe schon den Makrorecoder angeschaltet in Word und
den daraus resultierenden Code versucht in meinem Excel Code zu verarbeiten. Dies allerdings war nicht erfolgreich.
Lange Rede kurzer Unsinn, wie kann ich in Excel, nach dem er die ganzen Bereiche kopiert hat,
alle Tabellen in Word makieren und deren Zeilenhöhe auf "Genau" 0,5 cm machen.
Folgender Code kopiert die Bereiche nach Word:
Code:
Dim appWord As Object
Dim doc As Object
Dim wsa As Object
Dim wsb As Object
Dim wsc As Object
Set appWord = CreateObject("Word.Application")
Set doc = appWord.Documents.Add("T:\Vorlage.docx") '*** verwendet Datei nur als Vorlage ***
appWord.Visible = True
Set wsa = ThisWorkbook.Worksheets("Tabelle1")
Set wsb = ThisWorkbook.Worksheets("Tabelle2")
Set wsc = ThisWorkbook.Worksheets("Tabelle3")
With doc.Application.Selection
If chk1 = True Then
wsa.Range("A1:B5").Copy
.PasteExcelTable False, False, False
.TypeParagraph
.TypeParagraph
End If
If chk2 = True Then
wsb.Range("A1:C4").Copy
.PasteExcelTable False, False, False
.TypeParagraph
.TypeParagraph
End If
If chk3 = True Then
wsc.Range("A1:J31").Copy
.PasteExcelTable False, False, False
.TypeParagraph
.TypeParagraph
End If
Folgender Code ist aus dem Makrorecorder in Word:
Code:
Selection.WholeStory 'makiert alles
Selection.Rows.HeightRule = wdRowHeightExactly 'setzt Zeilenhöhe auf genau
Selection.Rows.Height = CentimetersToPoints(0.5) 'setzt Zeilenhöhe auf 0,5 cm
PS: Falls möglich wäre es nett wenn ihr mir sagen könntet wie man die Zwischenablage entfernen kann nach dem Prozess, damit beim Schließen keine unnötigen Abfragen entstehen.
Mit freundlichen Grüßen
Joe