Shape übertragen ohne Zwischenablage

Bild

Betrifft: Shape übertragen ohne Zwischenablage
von: Palaveev
Geschrieben am: 05.11.2015 20:32:32

Hallo,
ich bin mit der folgenden Aufgabe konfrontiert:
für die Erstellung eines Datenblatts muss in Excel das Firmenlogo, das als Shape "Picture 1" in Worksheets("Tabelle1") vorliegt an einer bestimmten Position in die Worksheets("Tabelle2") übertragen werden. Der Hacken ist, dass ich den Windows-Zwischenspeicher nicht nutzen darf. Ideen für die Umsetzung der Aufgabe sind willkommen. Vielen Dank im voraus!

Bild

Betrifft: AW: Shape übertragen ohne Zwischenablage
von: EtoPHG
Geschrieben am: 06.11.2015 08:42:27
Hallo Palaveev,
Was für eine Hacke darfst du nicht nutzen und warum nicht? Das ist eine ziemlich seltsame Anforderung! Häng deine Anforderung an den Haken, denn ein Copy oder CopyPicture einer Grafik läuft immer über die Zwischenablage.
Entweder du löschst den Zwischenspeicher programmatisch nach dem .Paste oder du fügst das Bild von einer Datei in das Blatt ein, statt es von Blatt zu Blatt kopieren.
Gruess Hansueli

Bild

Betrifft: AW: Shape übertragen ohne Zwischenablage
von: Palaveev
Geschrieben am: 06.11.2015 10:44:25
...Der Hacken an der Sache ist, dass ich den Zwischenspeicher nicht nutzen darf. Das liegt daran, dass mehrere Excel-Instanzen auf derselben Machinen parallel laufen. Es gibt bestimmt Wege ein Bild zu duplizieren, ohne den Zwischenspeicher zu nutzen. Ein Pointer auf das Shape wäre auch i.O.

Bild

Betrifft: AW: Shape übertragen ohne Zwischenablage
von: EtoPHG
Geschrieben am: 06.11.2015 12:57:54
Hallo Palaveev,
Zitat: Es gibt bestimmt Wege ein Bild zu duplizieren, ohne den Zwischenspeicher zu nutzen.
Wenn du das so sicher weisst, dann nimmt doch einen solchen!
...und was soll dir ein Pointer helfen, wenn du etwas duplizieren willst?
...und was hat das mit mehrere Excel-Instanzen auf derselben Machinen zu tun?
Mindestens ein Weg, habe ich Dir in meiner ersten Antwort vorgeschlagen.
Gruess Hansueli

Bild

Betrifft: AW: Shape übertragen ohne Zwischenablage
von: Palaveev
Geschrieben am: 06.11.2015 16:41:19
Beispiel: Stellen Sie sich vor, dass auf 20 Excel-Instanzen parallel Rechnungen laufen, die hin und wieder auf den Zwischenspeicher zugreifen. Dann ist die Nutzung von Application.CutCopyMode = False nicht besonders wünschenswert, da der gesamte Excel-Speicher geleert wird. Für Range gibt es ja die Möglichkeit Copy(Destination), die nicht auf den Zwischenspeicher greift. So etwas muss es doch auch für Shapes geben, oder?
Ein Pointer wäre eine Alternative zum Duplikat ("wäre auch i.O.").

Bild

Betrifft: AW: Shape übertragen ohne Zwischenablage
von: EtoPHG
Geschrieben am: 09.11.2015 09:33:25
Hallo Palaveev,
Ich hab keine Ahnung was Dir für Gedanken durch den Kopf gehen.
Meine Lösung den Zwischenspeicher zu umgehen heisst:
Das Firmenlogo von einer externen Datei einzufügen und nicht über einen Copy von Blatt zu Blatt verschieben. Shapes sind zusätzlich Objekte auf einem Blatt und werden nicht mit dem gleichen Mechanismus wie Ranges kopiert!
Eine weitere Alternative wäre das ganze Blatt (mit dem Logo) aus einer Vorlagen-Mappe zu kopieren.
Gruess Hansueli

Bild

Betrifft: AW: Shape übertragen ohne Zwischenablage
von: Palaveev
Geschrieben am: 09.11.2015 19:48:10
Hallo Hansueli,
beide Lösungsvorschläge von Ihnen, sowohl das Einfügen aus externer Grafik als auch das Duplizieren vom ganzen "Vorlagen"-Sheet, funktionieren bestens. Mein Ziel, den Zwischenspeicher zu umgehen, ist erreicht.
vielen Dank für Ihren Einsatz!
Beste Gruesse,
Palaveev

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Shape übertragen ohne Zwischenablage"