mit Makro den Namen der Absatzvorlage auslesen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: mit Makro den Namen der Absatzvorlage auslesen

Re: mit Makro den Namen der Absatzvorlage auslesen

von kvogelsa » Do, 13.09.2007 12:34

So, das fertige Makro möchte ich Euch natürlich nicht vorenthalten:

Code: Alles auswählen

sub Fristsetzen
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

oVC = ThisComponent.getCurrentController.getViewCursor()
If oVC.ParaStyleName = "Frist"  then

rem Datum ändern
rem altes Datum entfernen ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:WordLeftSel", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:WordLeftSel", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:WordLeftSel", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:WordLeftSel", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:WordLeftSel", "", 0, Array())
rem neues setzen----------------------------------------------------------------------
Dim oFristDate as String
Dim oWD as String
Dim oformerFristDate as String
oformerFristDate = oVC.string
'oFristDate = DateAdd("d", 7, oformerFristDate)
'oWD = WeekDay(oformerFristDate)

oFristDate = DateAdd("ww", 1, oformerFristDate)
'If oWD = 6 then oFristDate = DateAdd("d", 5, oformerFristDate)
'If oWD = 2 then oFristDate = DateAdd("d", 2, oformerFristDate)

dim args7(0) as new com.sun.star.beans.PropertyValue
args7(0).Name = "Text"
args7(0).Value = oFristDate

dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args7())




rem außerhalb der Absatzvorlage Frist
else
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:InsertPara", "", 0, Array())

rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Template"
args2(0).Value = "Frist"
args2(1).Name = "Family"
args2(1).Value = 2

dispatcher.executeDispatch(document, ".uno:StyleApply", "", 0, args2())

rem ----------------------------------------------------------------------

oFristDate = DateAdd("ww", 1, Date)
'oWD = WeekDay(oFristDate)
'If oWD = 7 then oFristDate = DateAdd("d", -1, oFristDate)
'If oWD = 1 then oFristDate = DateAdd("d", 1, oFristDate)
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Text"
args3(0).Value = oFristDate

dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args3())

endif

end sub

Re: mit Makro den Namen der Absatzvorlage auslesen

von kvogelsa » Do, 13.09.2007 12:27

Danke, das war es :lol:

Re: mit Makro den Namen der Absatzvorlage auslesen

von komma4 » Mi, 12.09.2007 18:06

Code: Alles auswählen

oVC = ThisComponent.getCurrentController.getViewCursor()
print oVC.ParaStyleName
Google mal nach X-Ray Tool und installiere es.

mit Makro den Namen der Absatzvorlage auslesen

von kvogelsa » Mi, 12.09.2007 17:30

Moin,

ich habe noch ein kleines Problem, ich habe mich auch schon totgegoogelt (unter anderem diese Seite gefunden:
http://www.dannenhoefer.de/faqstarbasic ... l#Zweig248)

Ich möchte für eine if-Abfrage den Namen der Formatvorlage desjenigen Absatzes herausfinden, in dem der Cursor gerade ist:

Code: Alles auswählen

if
Name_der_aktuellen_Vorlage = "Frist"
then
trink.noch.ein.bier
else
geh.nach.hause
endif
Was muss statt Name_der_Vorlage da stehen? Versuche, die Hilfe nach GetParaStyle oä zu durchforsten, waren erfolglos.

Danke für Eure Hilfe

Nach oben