Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
812to816
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
812to816
812to816
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

einbetten von Word-Dokumenten

einbetten von Word-Dokumenten
23.10.2006 02:01:49
Word-Dokumenten
Hallo Excelgemeinde,
hab ein wenig in der Recherche gestöbert und das gefunden und umgestrickt ...
ActiveSheet.OLEObjects.Add(Filename:="C:\Büro\PKWtest.doc", Link:=False, DisplayAsIcon:=False).Select
... wie muß sowas aussehen wenn ich ein Tabellenblatt"Eingabe" habe und in Zelle E17 z.b PKW drin steht, dann in "Tabelle 2" in A26 mein PKWtest.doc automatisch eingefügt wird.
Vorab schon mal Dank.
Gruß Uwe

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: einbetten von Word-Dokumenten
23.10.2006 09:59:53
Word-Dokumenten
HalloUwe,
da du nicht geschrieben hast wie/was denn alles automatisiert werden soll, habe ich dir mal eine Einfachst-Version und eine mit Variablen arbeitende ausbaufähige Version erstellt.
Gruß
Franz

Sub Worddokeinbetten()
Dim wks As Worksheet, wksZiel As Worksheet, strZielzelle As String, docName As String
Set wks = ActiveWorkbook.Worksheets("Eingabe")
Set wksZiel = ActiveWorkbook.Worksheets("Tabelle2")
Pfad = "C:\Büro"
'  Pfad = "C:\Lokale Daten\Test" 'Testzeile
docName = wks.Range("E17").Value & "test.doc"
strZielzelle = "A26"
wksZiel.Activate
wksZiel.Range(strZielzelle).Select
ActiveSheet.OLEObjects.Add(Filename:=Pfad & "\" & docName, Link:=False, DisplayAsIcon:=False).Select
End Sub
Sub WorddokeinbettenEinfach()
ActiveWorkbook.Worksheets("Tabelle2").Activate
Range("A26").Select
ActiveSheet.OLEObjects.Add(Filename:="C:\Büro\PKWtest.doc", Link:=False, DisplayAsIcon:=False).Select
End Sub

Anzeige
AW: einbetten von Word-Dokumenten
23.10.2006 11:03:29
Word-Dokumenten
Hallo Franz,
vielen Dank für den Code.
Hoffe ich hab da nicht zu viel durcheinander gebracht..
Hab das mal zum besseren Verständniss hochgeladen...
https://www.herber.de/bbs/user/37594.xls
... hoffe man kann da was mit anfangen.
Die einzelnen Grafiken hab ich in einem Ordner "C:\Grafik" als Worddoc mit den jeweiligen Namen gespeichert.
Ich hab jetzt hier mal in Tabelle 3 sie nochmals aufgeführt...vielleicht ist das ja einfacher zu programmieren.
Denn Code von Dir krieg ich nicht zum laufen. (Halt blutiger Anfänger...)
irgendwas mach ich da falsch...
Für deine Mühen schon mal Dank.
Gruß Uwe
Anzeige
AW: einbetten von Word-Dokumenten
23.10.2006 13:59:54
Word-Dokumenten
Hallo Uwe,
ich hab mal die Variante mit der Worddatei eingebaut. So bleibt die Größe der Exceldatei klein.
Die Makros findest du im VBA-Editor unter der Datei "Eingabe". Das Makro reagiert auf eine Änderung in der Zelle "E17" im Blatt Eingabe.
https://www.herber.de/bbs/user/37598.xls
Gruß
Franz
AW: einbetten von Word-Dokumenten
23.10.2006 15:06:10
Word-Dokumenten
Hi Franz,
hab das mal sofort umgesetzt.
geht mit deinem Code klasse.
jedoch hab ich da noch einen code drin der in zwei Bereichen in der "Eingabe" alles Groß schreibt.
Wenn ich versuche die zu vereinen dann braucht es sehr lange bis die Grafik da ist, also sie flackert stark.
wie kann man das noch verbinden das die Grafik schneller da ist?
'

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Dim rngUCase As Range
'Set rngUCase = Union(Range("E4:P63"), Range("E82:P95"))
'If Not Intersect(Target, rngUCase) Is Nothing Then
'Set Target = Intersect(Target, rngUCase)
'Target.Cells(1) = UCase(Target.Cells(1))
'End If
'End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = ("$E$17") And Target.Value <> "" Then
Call WordDokumentEinbetten(Target.Value)
End If
Dim rngUCase As Range
Set rngUCase = Union(Range("E4:P63"), Range("E82:P95"))
If Not Intersect(Target, rngUCase) Is Nothing Then
Set Target = Intersect(Target, rngUCase)
Target.Cells(1) = UCase(Target.Cells(1))
End If
End Sub

... wie gesagt wenn ich meinen code raus nehme läufts prima.
Hoffe ich habs einigermaßen erklärt.
Gruß Uwe
Anzeige
AW: einbetten von Word-Dokumenten
23.10.2006 15:20:27
Word-Dokumenten
Hi Uwe,
probiere mal folgende Anpassung, dann sollte die Prozedur sich nicht mehr immer wieder selbst aufrufen.
Gruß
Franz

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = ("$E$17") And Target.Value <> "" Then
Call WordDokumentEinbetten(Target.Value)
End If
Dim rngUCase As Range
Set rngUCase = Union(Range("E4:P63"), Range("E82:P95"))
If Not Intersect(Target, rngUCase) Is Nothing Then
Set Target = Intersect(Target, rngUCase)
Target.Cells(1) = UCase(Target.Cells(1))
End If
Application.EnableEvents = True
End Sub

Anzeige
AW: einbetten von Word-Dokumenten
23.10.2006 15:37:16
Word-Dokumenten
Hi Franz,
absolut super.
so läufts prima.
eins ist mir noch aufgefallen.
die jetzt eingebetten documente haben eine linie rundum und sind nicht transparent.
mit der normalen grifk formatieren bekommt man das ja weg, aber geht das auch irgend wie automatisch.
Gruß Uwe
AW: einbetten von Word-Dokumenten
23.10.2006 16:40:04
Word-Dokumenten
Hi Uwe,
ergänze die Einbetten-Prozedur wie folgt, dann verschwindet der Rahmen und außer hinterm eigentlichen Zeichnungsobjekt werden die Tabellenlinien wieder sichtbar.
Gruß
Franz

Private Sub WordDokumentEinbetten(strBild As String)
'Worddatei wird gemäß Auswahl in Zieltabelle eingefügt
Dim wks As Worksheet, wksZiel As Worksheet, strZielzelle As String
Dim Pfad As String, docName As String
Set wks = ActiveWorkbook.Worksheets("Eingabe")
Set wksZiel = ActiveWorkbook.Worksheets("Tabelle2")
On Error Resume Next 'Falls BILD noch nicht vorhanden
'Altes Bild löschen
wksZiel.Shapes("BILD").Delete
'Neues Bild laden
Pfad = "C:\Grafiken"
Pfad = "C:\Lokale Daten\Test" 'Testzeile
docName = strBild & ".doc"
strZielzelle = "A26"
wksZiel.Activate
wksZiel.Range(strZielzelle).Select
ActiveSheet.OLEObjects.Add(Filename:=Pfad & "\" & docName, Link:=False, DisplayAsIcon:=False).Select
Selection.Name = "BILD"
Selection.ShapeRange.Fill.Visible = msoFalse
Selection.ShapeRange.Fill.Transparency = 1#
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoFalse
wksZiel.Range(strZielzelle).Offset(-1, 0).Select
End Sub

Anzeige
AW: einbetten von Word-Dokumenten
23.10.2006 18:07:38
Word-Dokumenten
Also Franz,
....vom feinsten.
Läuft ohne Mucken.
vielen lieben Dank für deine tolle Hilfe!
gruß Uwe

167 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige