Seite 1 von 1

Autotext in einem Textfeld einfügen

Verfasst: Mi, 29.01.2014 17:03
von writeme
Halli Hallo.. nächstes Problem..

Wie kann ich ein Autotextbaustein in einem ganz speziellen Textfeld (Textfeld1) einfügen per Makro ?
Das einfügen des Bausteins habe ich bissher folgendermaßen gelöst...

Code: Alles auswählen

sub Meinfugen
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")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Group"
args1(0).Value = "mytexts*1"

dispatcher.executeDispatch(document, ".uno:SetActGlossaryGroup", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Group"
args2(0).Value = "mytexts*1"

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

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Group"
args3(0).Value = "mytexts*1"

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

rem ----------------------------------------------------------------------
dim args4(1) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Group"
args4(0).Value = "mytexts*1"
args4(1).Name = "ShortName"
args4(1).Value = "M"

dispatcher.executeDispatch(document, ".uno:InsertGlossary", "", 0, args4())


end sub


Moderation:
Zur Darstellung von Programmcode sind in der Forums-Software die [​code]…[​/code] Tags vorgesehen. Diese habe ich für dich gesetzt.
lorbass, Moderator

Re: Autotext in einem Textfeld einfügen

Verfasst: Mi, 29.01.2014 18:48
von F3K Total
Hi,
versuche es mal mit diesem Makro:

Code: Alles auswählen

Sub S_Meinfugen
    oAutoTextContainer = CreateUnoService("com.sun.star.text.AutoTextContainer")
    aMytexts = oAutoTextContainer.mytexts
    oMytext = aMytexts.getbyname("M")
    sMytext =  oMytext.String
    odrawpage = Thiscomponent.drawpage
    for i = 0 to odrawpage.count - 1
        if odrawpage(i).supportsservice("com.sun.star.drawing.TextShape")then
            if odrawpage(i).name = "Textfeld1" then
                oTextfield = odrawpage(i)
                oTextfield.String = sMytext
                exit for
            end if
        endif
    next i   
end sub
Gruß R

Re: Autotext in einem Textfeld einfügen

Verfasst: Do, 30.01.2014 16:57
von writeme
Da tut sich so leider garnichts :(

Re: Autotext in einem Textfeld einfügen

Verfasst: Do, 30.01.2014 18:27
von F3K Total
Hallo,
es muss ein Textfeld, dem du den Namen Textfeld1 gegeben hast, vorhanden sein.
Gruß R

Re: Autotext in einem Textfeld einfügen

Verfasst: Fr, 31.01.2014 12:03
von writeme
Es tut sich leider trotzdem nichts..

Re: Autotext in einem Textfeld einfügen

Verfasst: Fr, 31.01.2014 16:22
von F3K Total
Hi, anbei eine Beispieldatei, das Makro fügt den Autotext mit der Bezeichnung M in das Textfeld ein, diesen Autotext mußt du natürlich definiert und gespeichert haben, denn der wird lokal, bei dir abgelegt.

HTH R