❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 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: 2501
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) 82-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