🙏 Helfen Sie mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ 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. 🤗

Variablen in bedingten Texten usw. aufspüren

WRITER hat alles, was Sie von einer modernen, voll ausgestatteten Textverarbeitung erwarten.
Mau
* LO-Experte *
Beiträge: 457
Registriert: Do 14. Feb 2013, 19:37

Variablen in bedingten Texten usw. aufspüren

Beitrag von Mau » Sa 4. Jul 2015, 13:04

Liebe ExpertInnen,

ich will eine Formatvorlage umarbeiten, in der etliche Variablen gesetzt sind. Dazu muss ich u.a. eine Variable entfernen und neu definieren.
Diese Variable habe ich in mehreren Bedingungen für bedingte Texte und versteckte Absätze verwendet. Diese Textteile habe ich alle entfernt.
Jetzt müsste eigentlich das vorher ausgegraute Kreuz zum Löschen der Variable rot, also aktiviert sein, um die Variable zu entfernen.
Das ist bei mir aber nicht der Fall. Irgendwo muss noch eine Stelle sein, wo sie immer noch verwendet wird. Wie finde ich die?

Gruß,
Mau
Betriebssystem: Windows 10 (x64)

LO-Version: 6.2.8.2 (x64)

Mau
* LO-Experte *
Beiträge: 457
Registriert: Do 14. Feb 2013, 19:37

Re: Variablen in bedingten Texten usw. aufspüren

Beitrag von Mau » Sa 4. Jul 2015, 14:13

Sorry, liebe Leute,

ich stelle gerade fest, dass ich für die Löschung die ganze Zeit über im Feld Typ den Typ Variable anzeigen statt Variable setzen ausgewählt hatte. :roll:

Gruß,
Mau

komma4
Beiträge: 185
Registriert: Sa 13. Aug 2011, 10:01
Wohnort: Chonburi Thailand Asia
Kontaktdaten:

Re: Variablen in bedingten Texten usw. aufspüren

Beitrag von komma4 » Sa 4. Jul 2015, 14:13

Entferne sie, bspw., mit Basic

Code: Alles auswählen

Sub Snippet
  oTextFieldMasters = ThisComponent.getTextFieldMasters()
  oElementNames = oTextFieldMasters.getElementNames()
  oObj1 = oTextFieldMasters.getByName("com.sun.star.text.fieldmaster.SetExpression.MyVar")
  oObj1.dispose()
End Sub
MyVar ist der Name Deiner Variablen.

Hilft das?
Cheers
Winfried
aktuell: openSuse 13.1 mit LO 4.3.7.2
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als Extension)

komma4
Beiträge: 185
Registriert: Sa 13. Aug 2011, 10:01
Wohnort: Chonburi Thailand Asia
Kontaktdaten:

Re: Variablen in bedingten Texten usw. aufspüren

Beitrag von komma4 » Sa 4. Jul 2015, 14:14

Verstehe, es ist heiss in Deutschland, nicht wahr :D
Cheers
Winfried
aktuell: openSuse 13.1 mit LO 4.3.7.2
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als Extension)

Mau
* LO-Experte *
Beiträge: 457
Registriert: Do 14. Feb 2013, 19:37

Re: Variablen in bedingten Texten usw. aufspüren

Beitrag von Mau » Sa 4. Jul 2015, 14:30

komma4 hat geschrieben:Verstehe, es ist heiss in Deutschland, nicht wahr :D
So isses ...
Danke aber für den Makro; den kann ich vielleicht noch einmal gebrauchen.

Gruß,
Mau

P.S.
Dann wollen wir mal alle hoffen, dass die Temperaturen wieder runtergehen; wer weiß, wie viel Anfragen dieser Qualität sonst noch von mir kommen werden ...

Mau
* LO-Experte *
Beiträge: 457
Registriert: Do 14. Feb 2013, 19:37

Re: Variablen in bedingten Texten usw. aufspüren

Beitrag von Mau » So 5. Jul 2015, 10:28

Lieber Winfried,4 ;)

das habe ich jetzt in meine Makro-Datei hineingeschrieben:
komma4 hat geschrieben:

Code: Alles auswählen

Sub Snippet
  oTextFieldMasters = ThisComponent.getTextFieldMasters()
  oElementNames = oTextFieldMasters.getElementNames()
  oObj1 = oTextFieldMasters.getByName("com.sun.star.text.fieldmaster.SetExpression.MyVar")
  oObj1.dispose()
End Sub
MyVar ist der Name Deiner Variablen.
Wäre das mit viel Aufwand verbunden, wenn du mir noch den Programmcode für eine Eingabemaske schickst, damit ich die Routine nicht für jede Variable umschreiben muss? :oops:

Gruß,
Mau

komma4
Beiträge: 185
Registriert: Sa 13. Aug 2011, 10:01
Wohnort: Chonburi Thailand Asia
Kontaktdaten:

Re: Variablen in bedingten Texten usw. aufspüren

Beitrag von komma4 » Di 7. Jul 2015, 13:23

Mau hat geschrieben:Wäre das mit viel Aufwand verbunden[...]für jede Variable umschreiben muss?
Jain.

Im Prinzip eine Eingabebox, und die Übernahme im Snippet

Code: Alles auswählen

Sub varname_abfragen

   varname = Inputbox("Welche Variable löschen?", "Löschen von Textfeld-Variablen")
   snippet2(varname)   
End Sub

Sub Snippet2(varname)
  oTextFieldMasters = ThisComponent.getTextFieldMasters()
  oElementNames = oTextFieldMasters.getElementNames()
  oObj1 = oTextFieldMasters.getByName("com.sun.star.text.fieldmaster.SetExpression." & varname)
  oObj1.dispose()
End Sub
Vielleicht benötigst Du aber eher einen Code, der alle gesetzten Variablen und Benutzerfelder löscht?

Code: Alles auswählen

Sub entfernen_aller_Variablen
' 20150707
' löscht alle gesetzen Variablen, auch Benutzerfelder
' LO f=5 p=36701

  oTextFieldMasters = ThisComponent.getTextFieldMasters()
  oElementNames = oTextFieldMasters.getElementNames()
  '
  OOoTextFields = _
  "com.sun.star.text.fieldmaster.SetExpression.Illustration " & _
  "com.sun.star.text.fieldmaster.SetExpression.Table " & _
  "com.sun.star.text.fieldmaster.SetExpression.Text " & _
  "com.sun.star.text.fieldmaster.SetExpression.Drawing "
      
  ' alle Textfelder durchsuchen  
  For Each elem In oElementNames
     ' wenn nicht durch OpenOffice vorgegeben...
     If Not (INSTR(OOoTextFields,elem) > 0) Then
          ' Objekt holen
          oObj1 = oTextFieldMasters.getByName(elem)
          ' Objekt verwerfen
          oObj1.dispose()
     End If 
  Next

End Sub
Cheers
Winfried
aktuell: openSuse 13.1 mit LO 4.3.7.2
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als Extension)

Mau
* LO-Experte *
Beiträge: 457
Registriert: Do 14. Feb 2013, 19:37

Re: Variablen in bedingten Texten usw. aufspüren

Beitrag von Mau » Di 7. Jul 2015, 13:40

Lieber Winfried,
klasse, danke!
komma4 hat geschrieben: Vielleicht benötigst Du aber eher einen Code, der alle gesetzten Variablen und Benutzerfelder löscht?
Zunächst einmal nicht. Aber da es durchaus sein kann, dass ich auch mal alle Variablen entfernen muss, schreibe ich mir beide Codes ab.

Gruß,
Mau

Mau
* LO-Experte *
Beiträge: 457
Registriert: Do 14. Feb 2013, 19:37

Re: Variablen in bedingten Texten usw. aufspüren

Beitrag von Mau » Di 7. Jul 2015, 15:29

Lieber Winfried,

noch zwei Fragen zu dem zweiten Makro-Code hätte ich:
  • Was bedeuten in der dritten Programmzeile hinter "' LO " die Angaben "f=xx" und "p=xxxx"?
  • Kann es sein, dass der Programmcode in dieser Form auch noch andere Dinge löscht außer Variablen?
Gruß,
Mau

Mau
* LO-Experte *
Beiträge: 457
Registriert: Do 14. Feb 2013, 19:37

Re: Variablen in bedingten Texten usw. aufspüren

Beitrag von Mau » Di 7. Jul 2015, 15:35

Noch etwas:

Wenn ich aus dem Makro-Modul irgendeinen Makro zum Bearbeiten aufrufe, bekomme ich jedes Mal eine BASIC-Syntaxfehler-Meldung: "Unerwartetes Symbol: CRLF".
Ich kenne das als Kürzel für eine harte Zeilen- bzw. Absatzschaltung.

Ich habe natürlich eine Sicherungskopie vom Zustand des Moduls vorher, aber vielleicht gibt es eine wenig aufwändige Möglichkeit, die Fehlerquelle zu beseitigen?

Gruß,
Mau


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