12.8k Aufrufe
Gefragt in Tabellenkalkulation von kurtl Mitglied (239 Punkte)
Hallo liebe Experten,
ich möchte gern in einer Exel Tabelle (Tabellenblatt1) ein oder mehrere aninimierte gif`s wackeln lassen.
Ich bin nach Anleitung im Netz wie folgt vorgegeangen:
1.Exel Tabelle geöffnet
2.Ansicht-Symbolleisten-Steuerelemente Toolbox-weitere Steuerelemente-Microsoft Webbrowser- dann Stelle in exel Tabelle markiert, wo das gif zappeln soll (geht ein schwarzes Fenster mit windows symbol auf)
3. VBA Fenster geöffnet, Workbook ausgewählt und folgenden code in diese Arbeitsmappe:

Option Explicit
Private Sub Workbook_Open()
Tabelle1.WebBrowser1.Navigate_ "H:\gif\telefon00015"

End Sub
(Das gif liegt auf meinem Rechner auf Laufwerk H im Ordner gif und
heißt telefon00015)
4.Exelt Tabelle Entwurfsmodus beendet und exel Tabelle geschlossen.
Beim erneuten öffner der Tabelle sollte das Telefon wackeln, aber es kommt nur eine VBA Laufzeitfehlermeldung (438).
Kann jemand weiterhelfen?
Danke im vorraus!
Gruß Kurt

30 Antworten

0 Punkte
Beantwortet von flupo Profi (17.8k Punkte)
Hab es noch nicht getestet, aber bei Herber gibt es eine Anleitung: Klick

Gruß Flupo
0 Punkte
Beantwortet von kurtl Mitglied (239 Punkte)
Hallo Flupo,
Die Ausführungen meiner Vorgangsweise beziehen sich genau auf diesen "Herbers Exel Workshop".
Aber wie gesagt, irgend etwas hab ich falsch verstanden oder gemacht.
Gruß Kurt
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Kurt,

schau dir mal auf meiner HP, Seite Beispiele m. VBA die beiden Beispiele "Animiertes Gif1" und "Animiertes Gif2" an - vielleicht helfen sie dir ja weiter. Beachte aber bitte den Hinweis zu diesen beiden Beispielen, ehe du sie testest.

Bis später,
Karin
0 Punkte
Beantwortet von kurtl Mitglied (239 Punkte)
Hallo Karin,
Dein Animiertes Gif2 muss ich mir mal näher anschauen.
Wird eine Weile dauern, wenn ich weiß, ob es bei mir auch funktioniert
melde ich mich wieder.
Auf jeden Fall erst einmal herzlichen Dank!
Gruß Kurt
0 Punkte
Beantwortet von kurtl Mitglied (239 Punkte)
Hallo Karin,
ging doch schneller als ich dachte! Es funktioniert, ich hab jetzt ein wackelndes Telefon in meiner exel Tabelle - bin begeistert!
Weiß Du, was jetzt das größte wäre? E
Eines stört mich nämlich noch.
Meine exel Tabelle ist ja nicht farblos gestaltet. Dem Webbrowserfenster müsste man jetzt noch eine beliebige Farbe zuweisen können sonst befindet sich das gif ja immer in so einem weißen Kasten.
Geht so etwas oder ist da exel am Ende?

Gruß Kurt
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Excel,

vom Prinzip her kannst du dem WebBrowser auf diese Weise eine Hintergrundfarbe zuweisen (z.B. Rot):

Tabelle1.WebBrowser1.Document.bgcolor = RGB(0, 0, 250)


Bis später,
Karin
0 Punkte
Beantwortet von kurtl Mitglied (239 Punkte)
Hallo Karin,
in welchen Teil des Makros soll Deine Codezeile hinein? Ich hab es sowohl in diese Arbeitsmappe als auch in Tabelle1 probiert, da kommt jedes Mal Laufzeitfehler 431 (Objekt unterstützt Methode nicht)

Gruß Kurt
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Kurt,

der Code gehört ins Workbook_Open-Ereignis unter DieseArbeitsmappe:

Private Sub Workbook_Open()
With Tabelle1.WebBrowser1
.Visible = True
.Navigate ThisWorkbook.Path & "\ww.gif"
.Document.bgcolor = RGB(0, 0, 250)
End With
End Sub


Bis später,
Karin
0 Punkte
Beantwortet von kurtl Mitglied (239 Punkte)
Hallo Karin,
verlier bitte nicht die Geduld mit mir, ich habe den Code, wie Du gesagt in diese Arbeitsmappe ins Workbook_Open hineinkopiert.
Jetzt bekommen ich wieder einen Laufzeitfehler (91) Objektvariable oder With Blockvariable nicht festgelegt und der Debugger zeigt mir aus dem Tabellenblatt1 unten stehenden Code an.
Erste Zeile With WebBrowser1..... ist gelb markiert.

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
' Code von Kl@us-Martin für Eigenschaften des Webbrowsers festlegen
With WebBrowser1.Document.body
' keine Bildlaufleisten
.setAttribute "scroll", "no"
' Abstand des Gif vom linken Rand
.setAttribute "leftMargin", "0"
' Abstand des Gif vom oberen Rand
.setAttribute "topMargin", "0"
' ergänzt durch Beverly: keinen Rahmen anzeigen
.Style.Border = "none"

End With
End Sub

Gruß Kurt
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Kurt,

ich verliere bestimmt nicht die Geduld, wenn jemand Fragen hat,denn ich habe in dieser Hinsicht ein "breites Kreuz". ;-)

Welche Excel-Version verwendest du? Bei Excel2007 und Excel2010 gibt es ein Problem, so lange beim Öffnen der Mappe die Dateiinhalte noch nicht aktiviert wurden. Kopiere die Arbeitsmappe und das Bild in einen als vertrauenswürdig eingestuften Ordner, dann sollte das Problem nicht mehr auftauchen. Allerdings sollte es acuh so sein, dass die Arbeitsmappe korrekt geöffnet wird, wenn du sie aus derListeder zuletzt geöffneten Arbeitsmappen wieder aufrufst.

Bis später,
Karin
...