Macro GroKlei verändern?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

akoerber
***
Beiträge: 62
Registriert: Fr, 27.06.2008 10:28

Macro GroKlei verändern?

Beitrag von akoerber »

Hallo,

ich habe hier aus dem Netz bzw. von PCWELT (lag dort auch) den Macro "GroKlei", der Shift-F3 von Word ersetzen soll.

Leider setzt er nur das erste Zeichen des markierten Bereichs in Großbuchstaben um, nicht aber das erste Zeichen jedes Wortes im Bereich.

Gibt es dafür auch eine Möglichkeit?

Dank im Voraus

Andreas

Hier der Code:

Code: Alles auswählen

Sub GroKlei
Dim sText As String
sText=""
'aktuelles Dokument
xDoc=ThisComponent
xController=xDoc.CurrentController
'Cursor im Doc
xVCrsr=xController.getViewCursor
CurPos=xVCrsr.getPosition()
'gesamtes Dokument
oText=xDoc.Text
xSelection = xDoc.CurrentController.getSelection
'Range des aktuellen Selection
xRange=xSelection(0)
xCursor=xRange.getText.createTExtCursorByRange(xRange)
'Wort markieren
sText=xCursor.GetString()

If Len(sText) <= 0 Then
xCursor.gotoStartOfWord(False)
xCursor.GotoEndOfWord(True)

'String aus Wort ermitteln
sText=xCursor.GetString()
End If

'klein > groß
If sText=LCase(sText) Then
sText=UCase(Left$(sText,1)) + Right$(sText, Len(sText)-1)
'Einfügen
oText.InsertString(xCursor,sText,True)
Exit Sub
End If

'groß > klein
If sText=UCase(sText) Then 
oText.InsertString(xCursor,strConvert(stext,0),True)
Exit Sub
End If

'gemischt
If Left$(sText,1) = UCase(Left$(sText,1)) Then
oText.InsertString(xCursor,strConvert(stext,1),True)
Exit Sub
End If
oText.InsertString(xCursor,strConvert(stext,1),True)
End Sub

Function strConvert (cText As String, Flag As Integer) As String
iRun = 1
while iRun < Len(cText)+1
If Flag=1 Then
Mid( cText ,iRun, 1, UCase(Mid(cText,iRun,1))
Else
Mid( cText ,iRun, 1, LCase(Mid(cText,iRun,1))
End If
iRun = iRun + 1
Wend
strConvert=cText
End Function
steffn
***
Beiträge: 92
Registriert: So, 16.11.2008 15:02

Re: Macro GroKlei verändern?

Beitrag von steffn »

ja

soweit ich mir das vorstellen kann, stecken da alle schlüsselwörter drin, die man braucht
getselection, createtextcursorbyrange, gotostartofword, ucase, und so weiter
möchtest du sie selber zusammenbauen?
oo4.1.2 in winxp pro mit sp3
Antworten