Hallo Miteinander!
Ich habe mir von chatGPT helfen lassen, weil ich noch nicht so viel Ahnung habe. Habe schon viel korrigiert und probiert, aber es will einfach nicht funktionieren!! Folgendes: Wir sind in Impress. Ein bestehendes Objekt “Figur” soll auf der ersten Folie an die Position x,y gesetzt werden (die Werte stehen im Code) wobei die Position abhängig davon ist, welcher Wochentag gerade ist.
Jaha. Hier nun der Code
REM ***** BASIC *****Sub Main
Sub PositioniereFigur()
MsgBox "Das Makro wird ausgeführt!"
Dim o As Object
Dim oSlide As Object
Dim oShape As Object
Dim oDate As New com.sun.star.util.Date
Dim nWeekday As Integer
Doc = ThisComponent
oSlide = Doc.CurrentController.getCurrentPage()
' Aktuelles Datum rufen
oDate.Year = Year(Now())
oDate.Month = Month(Now())
oDate.Day = Day(Now())
MsgBox "Aktuelles Datum"
' Wochentag des aktuellen Datums abrufen (1=Sonntag, 2=Montag, usw.)
nWeekday = Weekday(oDate.Day, 2)
MsgBox "Wochentag"
' Figur-Objekt auf der Folie suchen und positionieren
For i = 0 To oSlide.Count - 1
If oSlide(i).Name = "Figur" Then
Select Case nWeekday
Case 1 ' Sonntag
oSlide(i).Position.X = 10 ' Neue X-Position für Sonntag einfügen
oSlide(i).Position.Y = 10 ' Neue Y-Position für Sonntag einfügen
Case 2 ' Montag
oSlide(i).Position.X = 20 ' Neue X-Position für Sonntag einfügen
oSlide(i).Position.Y = 20 ' Neue Y-Position für Sonntag einfügen
Case 3 ' Dienstag
oSlide(i).Position.X = 30 ' Neue X-Position für Sonntag einfügen
oSlide(i).Position.Y = 30 ' Neue Y-Position für Sonntag einfügen
Case 4 ' Mittwoch
oSlide(i).Position.X = 40 ' Neue X-Position für Sonntag einfügen
oSlide(i).Position.Y = 40 ' Neue Y-Position für Sonntag einfügen
Case 5 ' Donnerstag
oSlide(i).Position.X = 25 ' Neue X-Position für Sonntag einfügen
oSlide(i).Position.Y = 25 ' Neue Y-Position für Sonntag einfügen
Case 6 ' Freitag
oSlide(i).Position.X = 6 ' Neue X-Position für Sonntag einfügen
oSlide(i).Position.Y = 6 ' Neue Y-Position für Sonntag einfügen
Case 7 ' Samstag
oSlide(i).Position.X = 37 ' Neue X-Position für Sonntag einfügen
oSlide(i).Position.Y = 37 ' Neue Y-Position für Sonntag einfügen
End Select
End If
Next i
MsgBox "Ende"
End Sub
Der Code befindet sich in “Meine Makros und Dialoge” - Standard - Module 1.
Die MsgBoxen sind für mich zum Checken ob der Spaß überhaupt ausgeführt wird.
Die MessageBoxen poppen auf, aber die verdammte Figur bewegt sich keinen Millimeter von der Stelle! Ich habe den Makro sowohl im Editor laufen lassen, als auch über Extras - Makros ausführen … Und ich habe ausprobiert die Figur per Interaktionsmenü das Makro zuzuweisen und per Mausklick ausführen zu lassen. Aber hilft alles nüx.
Freu mich auf eure Ideen und Ratschläge.
Krenerta