| Autor |
Nachricht |
RO_SCH
Mädchen für alles
Verfasst am: 05. März 2010, 15:17 Rufname: Roland
Wohnort: Nürnberg
|
|
| Version: Office 2003 |
|
Hallo Leute,
eine kurze Frage am Rande.
Hat jemand schon mal ein Bilder-Karusell (wie z.B. hier als Flash-Animation zu sehen) in VB, VB.Net oder VBA programmiert ? Oder schon mal irgendwo Ansätze dazu gesehen ?
Falls jemand etwas dahingehend hat, wäre ich sehr dankbar, wenn sie/er es eventuell mit mir teilen könnte.
_________________ De nihilo nihil fit
Gruß Roland
|
|
kjot259
VBA Einsteiger/Makro4-profi

Verfasst am: 05. März 2010, 15:34 Rufname: kj
|
| |
| Version: Office 2003 |
|
Hallo,
das ist ja mit flash gemacht und das ist nunmal was ganz anderes als VBA.
M.E. ist es sooo nicht möglich. schliesslich müßte ja die bewegung simuliert werden.
frage ist dann nur, womit? mit fließenden bildern? geht zwar, aber eine heidenarbeit
denn pro bildanzeige wird ein eigenes bild benötigt.
_________________ Gruß kj
PS: Rückmeldung (nach Vollzug) erbeten!
****************************************
Chuck Norris liest keine Bücher, er starrt sie so lange an, bis die Bücher freiwillig alles erzählen.
|
|
RO_SCH
Mädchen für alles
Verfasst am: 05. März 2010, 17:24 Rufname: Roland
Wohnort: Nürnberg
|
|
| Version: Office 2003 |
|
Hi kj,
die Ansicht mit der 'heidenarbeit' teile ich !!!
Daher habe ich ja auch gefragt.
Natürlich ist Flash etwas anderes als VBA - ist mir schon klar !
Aber auch VB verfügt über Befehle, mit denen man Controls über den Bildschirm 'laufen' lassen kann, z.B. MOVE.
Es geht mir hauptsächlich darum, wie man am einfachsten die Kreisbahn erstellt, und die Controls auf dieser - möglichst ohne ruckeln - laufen läßt, sowie gleichzeitig deren Größe kontrollieren zu können.
_________________ De nihilo nihil fit
Gruß Roland
|
|
maninweb
VBA Professional & More

Verfasst am: 05. März 2010, 18:14 Rufname: maninweb
Wohnort: Herzogenrath
|
|
| Version: Office 2003 |
|
Hi RO_SCH...
nur so als Idee, die ich auch so nicht fertig ausprobiert habe. Habe ein Punktdia-
gramm erstellt, wo die Punkte eine Ellipse (naja annähernd) bilden. Dann im Dia-
gramm die Datenbeschriftungen (X-Werte) anzeigen lassen und diese als mit einem
benutzdefinierten Format versehen; z.B. "-", so dass die Zahlen nicht anzeigt
werden und alle gleich groß sind. Damit könnte man die Koodinaten abfangen...
| Code: |
Public Sub Test()
Dim p As Points
Dim n As Long
With ThisWorkbook.Worksheets(1).ChartObjects(1).Chart
Set p = .SeriesCollection(1).Points
For n = 1 To p.Count
MsgBox p(n).DataLabel.Text & " " & p(n).DataLabel.Left & " " & p(n).DataLabel.Top
Next n
End With
End Sub
|
Vielleicht ist's ja ein Ansatz. Das Langlaufen der Bilder müsste dann rechen-
technisch lösbar sein.
Gruß
_________________ Der größte Aberglaube der Gegenwart ist der Glaube an die Vorfahrt.
Jacques Tatischeff - auch bekannt als Jacques Tati
|
|
NichtTerminal
Codewarrior

Verfasst am: 06. März 2010, 19:29 Rufname:
|
| |
| Version: Office 2003 |
|
Hallo Ro_Sch und maninweb.
Ich habe mal Folgendes (in neues Modul der Arbeitsmappe einzufügen) programmiert:
| Code: | Option Explicit
Option Compare Binary
Option Base 0
Private Sub NeuerFrame(ByVal winkel As Integer)
' Über Einfügen/Grafik oder Einfügen/Autoformen eine Grafik ins aktuelle Tabellenblatt einfügen
' Im Namenfeld dieses Objekt dann "Grafik" nennen.
Const radius As Integer = 150 ' Radius eines Kreises
Const mitteX As Integer = 400 ' Mittelpunkt des Kreises (x-Koordinate)
Const mitteY As Integer = 300 ' Mittelpunkt des Kreises (y-Koordinate)
Static x As Integer
Static y As Integer
Dim s As Shape
Set s = ActiveSheet.Shapes("Grafik")
x = mitteX + radius * Sin(winkel * WorksheetFunction.Pi / 180)
y = mitteY + radius * Cos(winkel * WorksheetFunction.Pi / 180)
s.Left = x
s.Top = y
Set s = Nothing
End Sub
Public Sub GrafikAnimieren()
Const intervall As Single = 0.05 ' Jede Zwanzigstelsekunde wird neuer Frame berechnet und angezeigt
Static winkel As Integer ' An dieser Winkelposition (in Grad) erscheint die Grafik
Const winkelInkrement As Integer = 2 ' Winkelzunahme pro Frame
Dim startzeit As Single
Do While winkel < 360
NeuerFrame (winkel)
' Warteschleife
startzeit = Timer
Do While startzeit + intervall >= Timer
DoEvents
Loop
winkel = winkel + winkelInkrement
Loop
winkel = winkel Mod 360
End Sub |
Damit kann man, nachdem eine Autoform oder Grafik ins aktuelle Tabellenblatt eingefügt wurde und wichtig im Namenfeld links neben dem Formelbearbeitungsfeld, der Name des Objekts in "Grafik" (ohne die Anführungszeichen) umbenannt wurde das Objekt kreisförmig über dem Tabellenblatt animiert werden (Alt-F8 und dann GrafikAnimieren wählen).
Probiers einfach mal aus. Viele Grüße NT.
_________________ Ich bin doch nur eine kleine Rücksprungadresse im Stack des Herrn.
|
|
RO_SCH
Mädchen für alles
Verfasst am: 07. März 2010, 17:39 Rufname: Roland
Wohnort: Nürnberg
|
|
| Version: Office 2003 |
|
Hi NT,
danke für den Vorschlag !
Funktioniert natürlich wunderbar.
Werde mal versuchen, die Kreisbahn etwas zu einer Ellipse abzuflachen, und gleichzeitig mehrere Grafiken laufen zu lassen.
Falls jemand noch andere Ideen hat, dann ruhig raus damit !
_________________ De nihilo nihil fit
Gruß Roland
|
|
kjot259
VBA Einsteiger/Makro4-profi

Verfasst am: 09. März 2010, 10:57 Rufname: kj
|
|
| Version: Office 2003 |
|
hallo nichtterminal,
das ist sehr interessant, läuft auch "ganz gut". etwas ruckelig aber es läuft .)
@ManInWeb: irgendwie kriege ich deinen test nicht ans laufen. erklärste mal kurz ?
_________________ Gruß kj
PS: Rückmeldung (nach Vollzug) erbeten!
****************************************
Chuck Norris liest keine Bücher, er starrt sie so lange an, bis die Bücher freiwillig alles erzählen.
|
|
maninweb
VBA Professional & More

Verfasst am: 09. März 2010, 12:32 Rufname: maninweb
Wohnort: Herzogenrath
|
|
| Version: Office 2003 |
|
Hallo kjot259...
ich hab's mal ein bißchen ausgearbeitet; lustig, da kommt auch ein Beschleunigungs-
effekt zustande. Der Rest dürfte relativ simpel sein; also Punkte definieren, damit
die Bildchen wandern. PS: für die Ellipsenformeln gibt's einen Beitrag bei den
www.excelformeln.de
Ich schreib' mal einen Blogbeitrag dazu
Gruß
_________________ Der größte Aberglaube der Gegenwart ist der Glaube an die Vorfahrt.
Jacques Tatischeff - auch bekannt als Jacques Tati
| Beschreibung: |
|
 Download |
| Dateiname: |
Karussel.xls |
| Dateigröße: |
138.5 KB |
| Heruntergeladen: |
50 mal |
|
|
kjot259
VBA Einsteiger/Makro4-profi

Verfasst am: 09. März 2010, 13:00 Rufname: kj
|
|
| Version: Office 2003 |
|
jo, alles klar, vielen dank für die mappe...
da ist tatsächlich ein beschleunigungseffekt, aber nur an den stellen wo der radius sich
"rapide" verkürzt. es ist also nur ein visiueller beschleunigungseffekt...okok, mathematisch
auch weil eben der wert rapide sich ändert im verhältnis zu einem kreis....
_________________ Gruß kj
PS: Rückmeldung (nach Vollzug) erbeten!
****************************************
Chuck Norris liest keine Bücher, er starrt sie so lange an, bis die Bücher freiwillig alles erzählen.
|
|
kjot259
VBA Einsteiger/Makro4-profi

Verfasst am: 09. März 2010, 13:03 Rufname: kj
|
|
| Version: Office 2003 |
|
achso, kannste mir mal eins erklären?
wie kommt der zusammenhang zwischen Diagramm und deiner Formel zur geltung, wenn
sich bei änderung des diagramms, keine werte in den formeln ändern, und auch kein code
da ist der dies umrechnet. oder ist das einfach weil das chart das von alleine liefert?
_________________ Gruß kj
PS: Rückmeldung (nach Vollzug) erbeten!
****************************************
Chuck Norris liest keine Bücher, er starrt sie so lange an, bis die Bücher freiwillig alles erzählen.
|
|
maninweb
VBA Professional & More

Verfasst am: 09. März 2010, 13:11 Rufname: maninweb
Wohnort: Herzogenrath
|
|
| Version: Office 2003 |
|
Hi kjot259...
Das Rechteck sucht sich die Positionen der Datenbeschriftungen im Diagramm.
Wenn Du also z.B. das Diagramm größer ziehst oder die Basisparameter änderst,
ändern sich auch deren Positionen. Die Datenbeschriftungen richten sich automatisch
aus; macht also Excel. Das war's eigentlich schon.
Gruß
_________________ Der größte Aberglaube der Gegenwart ist der Glaube an die Vorfahrt.
Jacques Tatischeff - auch bekannt als Jacques Tati
|
|
kjot259
VBA Einsteiger/Makro4-profi

Verfasst am: 09. März 2010, 13:16 Rufname: kj
|
|
| Version: Office 2003 |
|
vielen dank für die "aufklärung"
hatte ich schon vermutet, und ehrlich gesagt hatte ich damit noch keine erfahrung und konnte einfach nicht den springenden punkt finden LoL.
tja, da sieht man mal wieder das man nie zu alt ist um noch was dazulernen und vor allem
was excel alles auf dem kasten hat. (oder im rechteck)
_________________ Gruß kj
PS: Rückmeldung (nach Vollzug) erbeten!
****************************************
Chuck Norris liest keine Bücher, er starrt sie so lange an, bis die Bücher freiwillig alles erzählen.
|
|
RO_SCH
Mädchen für alles
Verfasst am: 09. März 2010, 19:06 Rufname: Roland
Wohnort: Nürnberg
|
|
kjot259
VBA Einsteiger/Makro4-profi

Verfasst am: 10. März 2010, 11:17 Rufname: kj
|
|
| Version: Office 2003 |
|
hallo roland,
das ist schon serh viel arbeit für...ähhh...eine animation?
wird sich dein projekt mit viel bewegenden "teilen" beschäftigen?
dann würde ich auf jedenfall mit funktionen arbeiten.
dann brauchste die bewegungsformeln nicht in jeder UF oder so neu zu schreiben.
aber sieht schon sehr gut aus.
tip: versuche mit GIF od. besser noch mit PNG format als grafik zu arbeiten. man hat dann transparenz möglich und die bildchen sind "klein". Oder alternativ WMF ist auch ganz gut.
Aber Bmp und jpg. würde ich nicht verwenden.
_________________ Gruß kj
PS: Rückmeldung (nach Vollzug) erbeten!
****************************************
Chuck Norris liest keine Bücher, er starrt sie so lange an, bis die Bücher freiwillig alles erzählen.
|
|
maninweb
VBA Professional & More

Verfasst am: 11. März 2010, 18:12 Rufname: maninweb
Wohnort: Herzogenrath
|
| |
| Version: Office 2003 |
|
Hi zusammen...
hab' nun einen Artikel dazu geschrieben; inklusive Beispielmappe mit Animation
im Sheet oder in einer UserForm mit inegesamt 4 Objekten. Hier die Links...
- Entwicklung eines Bilderkarussells in Excel mit VBA
- Beispielmappe zu Bilderkarussel mit Excel VBA
Gruß
PS: Link zum Download tut's nur angeklickt von diesem Beitrag aus, nicht als Direktlink.
_________________ Der größte Aberglaube der Gegenwart ist der Glaube an die Vorfahrt.
Jacques Tatischeff - auch bekannt als Jacques Tati
|
|