PDA

Vollständige Version anzeigen : Gitternetzlinien beim Export aus Excel in Word ausblenden


Popolita
20.02.2008, 14:10
Hallo zusammen!

Habe mir aus einem älteren Beitrag einen Code zum Einfügen eines Bereiches aus einem ExcelTabellenblatt in ein neues Worddokument rauskopiert und es funktioniert einwandfrei.

Allerdings werden in Word nun auch die Gitternetzlinien angezeigt, was ich nicht möchte. Kann man es auch hinbekommen, dass dies unterbunden wird. Es hat wahrscheinlich was mit DisplayGridlines = False zu tun, aber ich weiß nicht wie und wo genau ich das einfügen muss.

Könnt ihr mir helfen? Danke sehr!

LG

Sub Schaltfläche3_BeiKlick()
Dim WordObj As Object
Dim WordDoc As Object
Dim i As Integer

Sheets("Tabelle1").Activate ' Tabelle1 musst du mit der deiner anpassen
i = ActiveSheet.UsedRange.Rows.Count
Range("A1:H43").Copy 'hier musst du die Range eintragen, in deren die Daten stehen

Set WordObj = CreateObject("word.application")

WordObj.Visible = True
Set WordDoc = WordObj.Documents.Add
With WordObj.Selection
.TypeParagraph
.TypeParagraph
End With
WordObj.Selection.PasteSpecial link:=True
Application.CutCopyMode = False
Set WordObj = Nothing
Set WordDoc = Nothing
End Sub

IngGi
20.02.2008, 14:21
Hallo Popolita,

versuch's mal hiermit:
Sub Schaltfläche3_BeiKlick()
Dim WordObj As Object
Dim WordDoc As Object
Dim i As Integer

Sheets("Tabelle1").Activate ' Tabelle1 musst du mit der deiner anpassen
i = ActiveSheet.UsedRange.Rows.Count
Range("A1:H43").Copy 'hier musst du die Range eintragen, in deren die Daten stehen

Set WordObj = CreateObject("word.application")

WordObj.Visible = True
Set WordDoc = WordObj.Documents.Add
With WordObj.Selection
.TypeParagraph
.TypeParagraph
End With
WordObj.Selection.PasteSpecial link:=True
WordObj.Selection.Borders.InsideLineStyle = 0
WordObj.Selection.Borders.OutsideLineStyle = 0
Application.CutCopyMode = False
Set WordObj = Nothing
Set WordDoc = Nothing
End Sub
Gruß Ingolf

Popolita
21.02.2008, 08:45
Hallo Ingolf,

leider war das nicht das gesuchte. Die Linien bleiben auch in Word erhalten. Zwar sind sie in der Seitenansicht und beim Drucken natürlich nicht da, aber es wär schon schön, wenn sie in der Bildschirmansicht nicht da wären.

Hatte mal einen Code aus dem Buch Excel-VBA von Bernd Held, bei dem auch drei Splaten übertragen wurden. Hierbei werden die Linien nicht angezeigt. Der Code zum Veranschaulichen.

Sub ExcelDatenNachWord()
Dim WordApp As Object
Dim WordDok As Object
Dim Bereich As Variant
Dim ExTab As Object
Dim i As Integer
Dim x As Integer
Dim y As Integer

Sheets("Tabelle1").Activate
Bereich = ActiveSheet.UsedRange

Set WordApp = CreateObject("Word.Application")

WordApp.Visible = True
Set WordDok = WordApp.Documents.Add

With WordApp.Selection
.TypeText Text:="Daten aus Excel "
.TypeText Text:="vom " & Format(Now(),"dd-mmm-yyyy")
.TypeParagraph
End With

Set ExTab = WordDok.Tables.Add _
(WordApp.Selection.Range, _
UBound(Bereich, 1), UBound(Bereich, "))

With ExTab
For x = 1 To UBound(Bereich, 1)
For y = 1 To UBound(Bereich, 2)
.Cell(X,y).Range.InsertAfter Bereich(x,y)
Next y
Next x
End With

Set WordApp = Nothing
Set WordDok = Nothing
Set ExTab = Nothing
End Sub



Wo genau liegt dort der Unterschied? Es ist weder von DisplayGridlines noch von WordObj.Selection.Borders.InsideLineStyle = 0 oder WordObj.Selection.Borders.OutsideLineStyle = 0 die Rede.

Eine Erläuterung wäre furchtbar nett! ;)

LG Birte

jinx
21.02.2008, 09:14
<font size="2" face="Century Gothic">Moin, Birte,

bei Kopieren eines Bereiches werden die Gridlines angezeigt, beim Code von Bernd Held wird zellenweise aus Excel übertragen und in eine in Word erstellte Tabelle eingefügt (wenn denn das " einer 2 entspricht)...</font>

Popolita
21.02.2008, 10:04
Hallo Jinx,

ja, das kann natürlich sein. Danke für den Tipp.

Dann werde ich es jetzt einfach so lassen, die Hauptaufgabe des Makro (Übertragen) funktioniert ja so wie gewollt. :)

Vielen Dank!

LG Birte