🍀 Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! 🍀
❤️ Nur noch wenige Stunden, um das Ziel zu erreichen. Vielen lieben Dank! ❤️
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig ihr Wissen teilen.<<
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen Dank!

❤️ HELFEN SIE JETZT >> << HELFEN SIE JETZT ❤️

🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗


Ändern des FileLink einer TextSection in Libreoffice Basic

WRITER hat alles, was Sie von einer modernen, voll ausgestatteten Textverarbeitung erwarten.
Antworten
Bodybag1
Beiträge: 2
Registriert: Mo 15. Apr 2013, 14:02

Ändern des FileLink einer TextSection in Libreoffice Basic

Beitrag von Bodybag1 » Mo 15. Apr 2013, 14:11

Hallo,
ich versuche in Libreoffice Basic den FileLink einer TextSection zu ändern.
Ich nutze dafür folgenden Code:

Code: Alles auswählen

sub ChangeLanguage
	Dim oDoc As Object
	Dim oSections As Object
	Dim oSec As Object
		
	oDoc = ThisComponent
	oSections = oDoc.getTextSections()
	
	Dim i&
	For i = 0 To oSections.getCount()-1
		oSec = oSections.getByIndex(i)
		msgbox oSec.FileLink.FileURL
		oSec.FileLink.FileURL = "file:///M:/test/test_en.odt"
		msgbox oSec.FileLink.FileURL
	Next i
end sub
Das Problem ist, dass der Code nicht geändert wird. Die FileUrl bleibt bei "file:///M:/test/test_de.odt".
Die Idee dahinter ist die, dass ich mit einem Listenfeld eine Sprache auswähle und der die Bereiche alle so ändert, dass die Datei mit der anderen Sprache gewählt wird.
Damit will ich mir das Kopieren von fremdsprachigen Textteilen aus anderen Dokumenten in mein aktuelles Dokument ersparen.
Ich bin natürlich auch gerne offen für andere Vorschläge, wie ich dieses Vorhaben realisieren kann.

Falls das wichtig sein sollte, ich nutze Win7 64 und Libreoffice 3.6.3.2 (Build ID: 58f22d5)

F3K Total
* LO-Experte *
Beiträge: 2512
Registriert: So 10. Apr 2011, 10:10

Re: Ändern des FileLink einer TextSection in Libreoffice Bas

Beitrag von F3K Total » Mi 17. Apr 2013, 22:28

Hi,
ich habe dir was für deutsch und englisch gebastelt, in Datei 1.odt müssen im Makro die Pfade zu 2.odt und 3.odt angepasst werden, dann funzt es.

Code: Alles auswählen

    sub ChangeLanguage
       Dim oDoc As Object
       Dim oSections As Object
       Dim oSec As Object
       oform = thiscomponent.drawpage.forms.Formular
       olstLanguage =  oform.lstLanguage
       if olstLanguage.currentvalue = "deutsch" then
       sUrl = converttourl("C:\Users\<>\Desktop\3.odt")
       else
       sUrl = converttourl("C:\Users\<>\Desktop\2.odt")
       endif
       oDoc = ThisComponent
       oSections = oDoc.getTextSections()
         Dim i&
       For i = 0 To oSections.getCount()-1
          oSec = oSections.getByIndex(i)
          oflink = oSec.FileLink
          oflink.FileURL = surl
          'osec.LinkRegion = "Bereich1"
          oSec.FileLink = oflink
         Next i
    end sub
Gruß R
Dateianhänge
Bereiche_umschalten.zip
(35.96 KiB) 87-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

Bodybag1
Beiträge: 2
Registriert: Mo 15. Apr 2013, 14:02

Re: Ändern des FileLink einer TextSection in Libreoffice Bas

Beitrag von Bodybag1 » Do 18. Apr 2013, 11:05

Du bist mein Held, Danke! :D Das ist genau das, was ich gesucht habe. Funktioniert super.


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten