die auswertung der state-eigenschaft eines dialogs klappt nicht bzw. sie ist ohne wirkung. es geht um cbxWortSu unc cbsGrossKlein. sie sollen beim su/er-vorgang je nach status berücksichtigt bzw. unberücksichtigt bleiben. der entsprechende code, der dies abfrägt ist orange markiert. leider ist er ohne wirkung
Sub SuErMultiple
Dim oDoc as Object
Dim oBereich as Object
Dim oSuche1 as Object
Dim sSu1 as String 'Variable für den 1. Suchbegriff
Dim sEr1 as String 'Variable für die 1. Ersetzung
'--Controller wird für den ausgewählten Zellbereich erzeugt
oDoc = ThisComponent
oBereich = oDoc.getCurrentSelection()'.getRangeAddress()
'--Su/er-Eingaben des Dialogs werden an die Variablen ausgelesen
sSu1 = oDlg.getControl("txtSu1").getText
sEr1 = oDlg.getControl("txtEr1").getText
'--ein ReplaceDescriptor wird für den jeweiligen Suchen/Ersetzungsvorgang erstellt
oSuche1 = oBereich.createReplaceDescriptor
'--1. Suchen/Ersetzen Ausdruck wird definiert
if oDlg.getControl("txtSu1").text <> "1. Suchtext eingeben" then
with oSuche1
.setSearchString(sSu1)
.setReplaceString(sEr1)
'############################
'###ab hier steckt wohl der fehler drin###
If oDlg.getControl("cbxSuWort").state=1 AND oDlg.getControl("cbxGrossKlein").state=1 then
.SearchWords = true 'Inhalt muss exakt dem Suchstring entsprechen
.SearchCaseSensitive = true 'Großschreibung
Elseif oDlg.getControl("cbxSuWort").state=1 AND oDlg.getControl("cbxGrossKlein").state=0 then
.SearchWords = true 'Inhalt muss exakt dem Suchstring entsprechen
.SearchCaseSensitive = false 'Großschreibung
Elseif oDlg.getControl("cbxSuWort").state=0 AND oDlg.getControl("cbxGrossKlein").state=1 then
.SearchWords = false 'Inhalt muss exakt den Suchstring enthalten
.SearchCaseSensitive = true 'Großschreibung
End If
end with
oBereich.replaceAll(oSuche1)
end if
Sub SuErMultiple
Dim oDoc as Object
Dim oBereich as Object
Dim oSuche1 as Object
Dim sSu1 as String 'Variable für den 1. Suchbegriff
Dim sEr1 as String 'Variable für die 1. Ersetzung
Dim bSWords as boolean, bSCase as boolean
'--Controller wird für den ausgewählten Zellbereich erzeugt
oDoc = ThisComponent
oBereich = oDoc.getCurrentSelection()'.getRangeAddress()
'--Su/er-Eingaben des Dialogs werden an die Variablen ausgelesen
sSu1 = oDlg.getControl("txtSu1").getText
sEr1 = oDlg.getControl("txtEr1").getText
'--ein ReplaceDescriptor wird für den jeweiligen Suchen/Ersetzungsvorgang erstellt
oSuche1 = oBereich.createReplaceDescriptor
' -- Chechboxen abfragen
If oDlg.getControl("cbxSuWort").state=1 AND oDlg.getControl("cbxGrossKlein").state=1 then
bSWords = true 'Inhalt muss exakt dem Suchstring entsprechen
bSCase = true 'Großschreibung
Elseif oDlg.getControl("cbxSuWort").state=1 AND oDlg.getControl("cbxGrossKlein").state=0 then
bSWords = true 'Inhalt muss exakt dem Suchstring entsprechen
bSCase = false 'Großschreibung
Elseif oDlg.getControl("cbxSuWort").state=0 AND oDlg.getControl("cbxGrossKlein").state=1 then
bSWords = false 'Inhalt muss exakt den Suchstring enthalten
bSCase = true 'Großschreibung
End If
'--1. Suchen/Ersetzen Ausdruck wird definiert
if oDlg.getControl("txtSu1").text <> "1. Suchtext eingeben" then
with oSuche1
.setSearchString(sSu1)
.setReplaceString(sEr1)
.SearchWords = bSWords
.SearchCaseSensitive = bSCase
end with
oBereich.replaceAll(oSuche1)
end if