Seite 1 von 2
Variablen in bedingten Texten usw. aufspüren
Verfasst: Sa 4. Jul 2015, 13:04
von Mau
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
Re: Variablen in bedingten Texten usw. aufspüren
Verfasst: Sa 4. Jul 2015, 14:13
von Mau
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.
Gruß,
Mau
Re: Variablen in bedingten Texten usw. aufspüren
Verfasst: Sa 4. Jul 2015, 14:13
von komma4
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?
Re: Variablen in bedingten Texten usw. aufspüren
Verfasst: Sa 4. Jul 2015, 14:14
von komma4
Verstehe, es ist heiss in Deutschland, nicht wahr

Re: Variablen in bedingten Texten usw. aufspüren
Verfasst: Sa 4. Jul 2015, 14:30
von Mau
komma4 hat geschrieben:Verstehe, es ist heiss in Deutschland, nicht wahr

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 ...
Re: Variablen in bedingten Texten usw. aufspüren
Verfasst: So 5. Jul 2015, 10:28
von Mau
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?
Gruß,
Mau
Re: Variablen in bedingten Texten usw. aufspüren
Verfasst: Di 7. Jul 2015, 13:23
von komma4
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
Re: Variablen in bedingten Texten usw. aufspüren
Verfasst: Di 7. Jul 2015, 13:40
von Mau
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
Re: Variablen in bedingten Texten usw. aufspüren
Verfasst: Di 7. Jul 2015, 15:29
von Mau
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
Re: Variablen in bedingten Texten usw. aufspüren
Verfasst: Di 7. Jul 2015, 15:35
von Mau
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