Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Daten aus Excel Tabelle in Word incl. Formatierung übernehmen

1,426 views
Skip to first unread message

Stephan Essmeyer

unread,
Oct 15, 2009, 8:33:09 AM10/15/09
to
Hallo NG,

ich möchte in ein Word-Dokument Daten aus Excel einfügen, dabei aber die
Formatierung der Excel-Zelle ebenfalls übernehmen (Font, Fontgröße etc.).
Eingefügt werden die Daten in Word ebenfalls in eine Tabelle. Wenn ich "
.Range.Text = " zum Einfügen verwende, nachdem ich über die
Text-Eigenschaft den Wert aus Excel ausgelesen habe,
erhält der Text die Formatierung der Zielzelle in der Word-Tabelle.
Ich dachte schon an die Zwischenablage (dann übernimmt Word die
Formatierung), aber wie kann ich mir die Daten mit Word Prozedur aus einer
Exceltabelle in den Zwischenspeicher laden. Hatte schon ein Makro in Excel
geschrieben und dieses von Word aus aufgerufen, in dem dann
"Selection.Copy" vorkommt, aber es war dann nix in der Zwischenablage, das
ich mit "Selection.paste" in Word hätte übernehmen können.

Bitte kann mir bitte jemand einen Tipp geben, wie ich die Formatierung von
Excel nach Word hin übernehmen kann. (Office 2003) Tausend Dank!

LG Stephan


--
Erstellt mit Operas revolutionärem E-Mail-Modul: http://www.opera.com/mail/

Helmut Weber

unread,
Oct 15, 2009, 9:51:23 AM10/15/09
to
Hallo Stephan,
experimentiere mal mit
Selection.PasteExcelTable
z.B. Selection.PasteExcelTable False, False, True
--

Gru�

Helmut Weber

Vista Small Business, Office XP

Thomas Gahler

unread,
Oct 15, 2009, 4:05:27 PM10/15/09
to
Hallo Stephan


> ich mï¿œchte in ein Word-Dokument Daten aus Excel einfï¿œgen, dabei aber die
> Formatierung der Excel-Zelle ebenfalls ᅵbernehmen (Font, Fontgrᅵᅵe etc.).
> [...] Ich dachte schon an die Zwischenablage (dann ï¿œbernimmt Word die

> Formatierung), aber wie kann ich mir die Daten mit Word Prozedur aus einer
> Exceltabelle in den Zwischenspeicher laden.

Ja ich denke, in diesem Fall geht es nur ï¿œber die Zwischenablage. Denn wenn
du alle Formatiereungen manuell aus den Zellen lesen mï¿œchtest, dann wirst du
nie fertig.
Jetzt gibt es zwei Mï¿œglichkeiten. Du hast deine Excel-Daten bereits in der
Zwischenablage und dann kannst du eine der vielen Bearbeiten / Inhalte
einfï¿œgen Mï¿œglichkeiten verwenden (so wie es Helmut vorgeschlagen hat)
oder
Deine Daten sind noch nicht dort angelangt und ann wï¿œrde ich Excel von Word
aus fernsteuern. Ein Beispiel dazu findest du hier
- How to Control Excel from Word
http://word.mvps.org/faqs/interdev/controlxlfromword.htm

und diesen unbedint auch berï¿œcksichtigen
- Early vs. Late Binding
http://word.mvps.org/faqs/interdev/EarlyvsLateBinding.htm


Bei Fragen helfe ich gerne weiter

--
Thomas Gahler
Co-Autor von ï¿œMicrosoft Word-Programmierung.
Das Handbuchᅵ (MS Press)


- Windows Vista (SP2), Office 2007 (SP2)


Stephan

unread,
Oct 16, 2009, 6:41:30 AM10/16/09
to
Hallo Thomas,

vielen Dank für Deine Tipps.

Ich möchte Excel ja gerne fernsteuern, aber es klappt mit der
Zwischenablage (zumindest bei mir) nicht.

Habe ein Makro in Excel erzeugt, das die Inhalte einer Zelle in den
Zwischenspeicher nimmt.("....Range.copy") - Makro von Excel aus
aufgerufen ist der Inhalt in der Zwischenablage, aber gleiches Makro
von von Word aus aufgerufen nicht. (oXL.Run "Makro" Arg1 etc.)
Dann dachte ich mir, das Makro von Word aus aufzurufen und in das
Excel-Makro den Einfügebefehl für Word reinzunehmen. Klappt auch, aber
wieder das gleiche Problem wie vorher - von Excel aus aufgerufen ist
der Inhalt dann sauber mit Format im Word-Dokumen, aber von Word aus
aufgerufen nicht.

Werd' schon ganz wuschig!

Hast Du, oder jemand eine Idee? Kann man Excel auch soetwas wie
"PutInClipboard" mitgeben? Excel anzeigen zu lassen brachte leider
nichts (dachte nur dan werde die "Ameisenlinie" um den Bereich
gebildet.

Vielen Dank!

Stephan

Thomas Ramel

unread,
Oct 16, 2009, 6:57:35 AM10/16/09
to
Gr�ezi Stephan

Stephan schrieb am 16.10.2009

> Ich m�chte Excel ja gerne fernsteuern, aber es klappt mit der


> Zwischenablage (zumindest bei mir) nicht.

Na, dann zeige doch deinen relevanten Code statt nur Fragmente daraus...;-)

Wie greifst Du auf Excel zu?
Erzeugst Du eine neue Instanz oder greifst auf eine bestehende zu?

Ist die Datei bereits ge�ffnet oder tust Du das im Code - wenn ja wie?

...
..


> Habe ein Makro in Excel erzeugt, das die Inhalte einer Zelle in den
> Zwischenspeicher nimmt.("....Range.copy") - Makro von Excel aus
> aufgerufen ist der Inhalt in der Zwischenablage, aber gleiches Makro
> von von Word aus aufgerufen nicht. (oXL.Run "Makro" Arg1 etc.)

Wenn Du Excel aus Word heraus fernsteuern willst, dann kannst Du den
aufgezeichneten Code aus Excel nicht 1:1 verwenden.

> Dann dachte ich mir, das Makro von Word aus aufzurufen und in das

> Excel-Makro den Einf�gebefehl f�r Word reinzunehmen. Klappt auch, aber


> wieder das gleiche Problem wie vorher - von Excel aus aufgerufen ist
> der Inhalt dann sauber mit Format im Word-Dokumen, aber von Word aus
> aufgerufen nicht.
>
> Werd' schon ganz wuschig!

Ja, Du kannst nicht ein Word-Makro aus Excel heraus oder ein Excel-Makro
aus Word heraus aufrufen und dann erwarten dass die sich die an der
Schnittstelle von selbst finden ;-)

Wie gesagt sollten wir zumindest einige grundlegende Angaben haben um dich
konkret(er= zu unterst�tzen.

Mit freundlichen Gr�ssen
Thomas Ramel

--
- MVP f�r Microsoft-Excel -
[Vista Ultimate SP-1 / xl2007 SP-1]

Thomas Ramel

unread,
Oct 16, 2009, 8:37:28 AM10/16/09
to
Gr�ezi Stephan

Thomas Ramel schrieb am 16.10.2009

> Stephan schrieb am 16.10.2009
>
>> Ich m�chte Excel ja gerne fernsteuern, aber es klappt mit der
>> Zwischenablage (zumindest bei mir) nicht.

Folgendes klappt hier aus Word heraus IMO gut.
Voraussetzung ist, dass

a) Excel ge�ffnet ist

b) Die Daten aus dem ersten Tabellenblatt geholt werden


Public Sub Import_from_Excel()
Dim xlApp As Object

Set xlApp = GetObject(, "Excel.application")
xlApp.Worksheets(1).Range("A1:E10").Copy
Selection.PasteExcelTable False, False, True

Set xlApp = Nothing

End Sub

Stephan Essmeyer

unread,
Oct 18, 2009, 2:09:39 PM10/18/09
to
Servus Thomas,

tausend Dank für den Tipp, genau so ging es!
So braucht man auch keine Zwischenablage.

Vielen Dank auch an Helmut Weber und Thomas Gahler!

Stephan

Am 16.10.2009, 14:37 Uhr, schrieb Thomas Ramel <t.r...@mvps.org>:

> Grüezi Stephan


>
> Thomas Ramel schrieb am 16.10.2009
>
>> Stephan schrieb am 16.10.2009
>>

>>> Ich möchte Excel ja gerne fernsteuern, aber es klappt mit der


>>> Zwischenablage (zumindest bei mir) nicht.
>
> Folgendes klappt hier aus Word heraus IMO gut.
> Voraussetzung ist, dass
>

> a) Excel geöffnet ist


>
> b) Die Daten aus dem ersten Tabellenblatt geholt werden
>
>
> Public Sub Import_from_Excel()
> Dim xlApp As Object
>
> Set xlApp = GetObject(, "Excel.application")
> xlApp.Worksheets(1).Range("A1:E10").Copy
> Selection.PasteExcelTable False, False, True
>
> Set xlApp = Nothing
>
> End Sub
>
>
>

> Mit freundlichen Grüssen
> Thomas Ramel

Thomas Ramel

unread,
Oct 18, 2009, 2:40:51 PM10/18/09
to
Gr�ezi Stephan

Stephan Essmeyer schrieb am 18.10.2009

> tausend Dank f�r den Tipp, genau so ging es!

Fein, wenn es auf diese Weise klappt :-)

> So braucht man auch keine Zwischenablage.

Das ist ein kleiner Irrtum; mit .Copy wird der Bereich in die
Zwischenablage kopiert und von da dann in Word eingef�gt.

Du kannst ihn anschliessend auch manuell nochmals einf�gen, er ist in der
Zwischenablage vorhanden.

Thomas Gahler

unread,
Oct 18, 2009, 4:44:37 PM10/18/09
to
Hallo Stephan


> So braucht man auch keine Zwischenablage.

Nichtg ganz. Die beiden Methoden .Copy und .Paste entsprechen der
Zwischenablage

0 new messages