Hallo,
kennt jemand eine Möglichkeit wie ich einen ganzen Textblock recht einfach Auskommentieren kann und später wieder aktivieren?
Von anderen Programmen kenne ich diese Funktion und sie ist sehr praktisch. So dass man nicht in jeder Zeile ein ' einfügen muss bzw. entfernen muss.
Gruss und Dank
Scalaia990
Textblock Auskommentieren bzw. aktivieren
Moderator: Moderatoren
-
- ***
- Beiträge: 76
- Registriert: Mi, 29.04.2009 23:50
Re: Textblock Auskommentieren bzw. aktivieren
Hallo!
Vielleicht kannst du das mit einem versteckten Bereich machen, den du ein- und ausblenden kannst.
Gruß
Charly
Vielleicht kannst du das mit einem versteckten Bereich machen, den du ein- und ausblenden kannst.
Ich habe getestet, dass das auch ohne Bedingung geht. Das Ein- und Ausblenden geht in diesem Fall über das Menü Format - Bereich.OpenOffice Hilfe hat geschrieben: So verbergen Sie einen Bereich:
1.Wählen Sie in Ihrem Dokument den Text aus, den Sie verbergen möchten.
2.Wählen Sie Einfügen - Bereich.
3.Aktivieren Sie im Bereich Ausblenden das Markierfeld Ausblenden, und geben Sie anschließend im Feld Mit Bedingung einen Ausdruck ein. Um beispielsweise die zuvor definierte Variable zu verwenden, geben Sie "Verstecken==1" ein.
4.Klicken Sie auf OK.
Gruß
Charly
Re: Textblock Auskommentieren bzw. aktivieren
Hallo Scalaia990 ,
Dieser Code kann aber "nur" auskommentieren.
Ich habe den Code mal übernommen und etwas angepasst, damit er auch in die andere Richtung funktioniert.
Einfach in die Standardbibliothek einfügen und mittels Shortcut oder Schaltfläche ausführen.
Der auszukommentierende Text muss natürlich vorher markiert werden.
Hinweis: Die Markierung muss immer vom Zeilenanfang aus erfolgen, da dort auch das Hochkomma gesetzt wird.
Aber es gilt wie immer, Versuch macht kluch.
Jürgen
Im englischsprachigen Forum gibt es dazu einen Code von ms777.Scalaia990 hat geschrieben:kennt jemand eine Möglichkeit wie ich einen ganzen Textblock recht einfach Auskommentieren kann und später wieder aktivieren?
Dieser Code kann aber "nur" auskommentieren.
Ich habe den Code mal übernommen und etwas angepasst, damit er auch in die andere Richtung funktioniert.
Einfach in die Standardbibliothek einfügen und mittels Shortcut oder Schaltfläche ausführen.
Der auszukommentierende Text muss natürlich vorher markiert werden.
Hinweis: Die Markierung muss immer vom Zeilenanfang aus erfolgen, da dort auch das Hochkomma gesetzt wird.
Aber es gilt wie immer, Versuch macht kluch.
Code: Alles auswählen
Sub Comment_Code_Lines
oBasicComp = getBasicWindow
oContWin = oBasicComp.CurrentController.Frame.ComponentWindow
oACScrollPane1 = oContWin.AccessibleContext.getAccessiblechild(0)
oACPanel1 = oACScrollPane1.AccessibleContext.getAccessiblechild(2)
oACPanel2 = oACPanel1.AccessibleContext.getAccessibleChild(4)
oACScrollPane2 = oACPanel2.AccessibleContext.getAccessibleChild(0)
oACTextFrame = oACScrollPane2.AccessibleContext.getAccessibleChild(1)
'oACPara1 = oACTextFrame.AccessibleContext.getAccessibleChild(8)'bringt einen Error
iMaxPara = oACTextFrame.AccessibleContext.AccessibleChildCount-1
aiParaSelected = getSelectedParas(oACTextFrame)
call commentParas(oACTextFrame, aiParaSelected)
End Sub
sub commentParas(oACTextFrame as Any, aiPara as Any)
for k = 0 to UBound(aiPara)
oACP = oACTextFrame.AccessibleContext.getAccessibleChild(aiPara(k))
if left(oACP.Text,1) = "'" then
bResult = oACP.cutText(0,1)
else
bResult = oACP.insertText( "'", 0)
end if
next k
end sub
function getSelectedParas(oACTextFrame as Any) as Any
iMaxPara = oACTextFrame.AccessibleContext.AccessibleChildCount-1
Dim aiParaSelected(iMaxPara) as integer
iCount = 0
for k = 0 to iMaxPara
oACP = oACTextFrame.AccessibleContext.getAccessibleChild(k)
if (oACP.SelectedText = oACP.Text) and (oACP.Text <> "") then
aiParaSelected(iCount) = k
iCount = iCount + 1
endif
next k
if iCount >= 1 then
redim preserve aiParaSelected(iCount-1)
getSelectedParas = aiParaSelected
else
getSelectedParas = Array()
endif
end function
function getBasicWindow() as Any
oEnum = Stardesktop.Components.createEnumeration
while oEnum.hasMoreElements
oComp = oEnum.nextElement
if HasUnoInterfaces(oComp, "com.sun.star.lang.XServiceInfo") then 'to cath the Help Window
if oComp.supportsService("com.sun.star.script.BasicIDE") then
oBasicComp = oComp
endif
endif
wend
getBasicWindow = oBasicComp
end function
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem