Sneltoets voor hoofdletters + achtergrond

Status
Niet open voor verdere reacties.

jazzvb

Gebruiker
Lid geworden
30 okt 2005
Berichten
89
Hallo,

Ik weet dat je met Shift+F3 van geselecteerde letters in 1x hoofdletters kunt maken. Waar ik naar op zoek ben is een sneltoets die zowel letters in hoofdletters kan omzetten alsmede de achtergrond grijs kan maken. Ik heb dat geprobeerd met een macro (achtergrond veranderen plus hoofdletters), maar als je daar een sneltoets aan koppelt, verandert alleen de achtergrond. Ik krijg het niet voor elkaar om hoofdletters te krijgen met een macro. Is dit wel mogelijk? En dan liefst in 1x met achtergrond veranderen?

Groet,
Jazz
 
Macro zet hoofdletters en achtergrond in 1 keer

Ja dat kan.
Het duurde even maar het lijkt te werken

De macro is in het voorbeeldbestand gekoppeld aan de toetscombinatie Ctrl+spatiebalk

De macro geeft nu een bericht Voltooid als de macro is uitgevoerd.
Zet een apostrof ( ' ) vóór Print "Voltooid" om dat uit te schakelen
Ook voor het kiezen van een andere kleur de apostrof verwijderen en een apostrof plaatsen vóór de oude kleur

Code:
Sub HoofdlettersEnAchtergrond()
Dim oVc
oVC = ThisComponent.CurrentController.getViewCursor
If oVC.isCollapsed then
  Print "Niets geselecteerd."

Else oVC.CharCaseMap = 1 'hoofdletters  2 = kleine letters
      oVc.CharBackColor = 12632256 'middengrijs
     'oVc.CharBackColor = 15132390  'lichtgrijs
     'oVc.CharBackColor = 16776960 'geel
     'oVc.CharBackColor = 9868950 'donkergrijs

Print "Voltooid"   
EndIf
End Sub

Bekijk bijlage Hoofdletters en achtergrond.odt

Succes
 
Hee DiGro, geweldig dat je alsnog reageert, dank je. voor zover ik altijd wist, was een macro een kwestie van op het rode knopje drukken, je handeling verrichten, dat opslaan en klaar voor gebruik. hoe je een code kunt gebruiken zoals jij aangeeft, daar heb ik (nog) geen kaas van gegeten. maar kan ik wellicht leren. hoe doe ik dat?

ik heb ook je document geopend, maar als ik een woord selecteer en daarna op ctrl+spatie druk, zie ik geen effect. doe ik iets verkeerd?
 
Ik heb het net nog even geprobeerd en het werkt als je het bestand uit de post download.

Er verschijnt bij mij een venster met de knop "Macro's inschakelen".

Kan het zijn dat je de beveiliging voor macro's nog niet hebt ingeschakeld?
Ga naar Extra > Opties > Beveiliging en klik op de knop Macroveiligheid. Zet Beveiligingsniveau op Medium.
Je kunt ook in Vertrouwde bronnen het pad opgeven waar je het document hebt opgeslagen dan wordt die plaats automatisch geactiveerd de volgende keer.

Ook kan het zijn dat Java niet is geactiveerd (ik weet niet zeker of je die nodig hebt voor macro's maar controleren kan geen kwaad)

Gaan naar Extra > Opties >Java en kijk of daar een Java versie wordt vermeld.
Zo ja, selecteer die dan met het knopje ervóór.
Zo nee, download dan een 32-bits Java-versie van https://www.java.com/nl/download/manual.jsp NIET de 64-bits (AOO werkt op 32-bits)

Als bovenstaande niet werkt dan weet ik het ook even niet :shocked:

Macro's opnemen met de rode knop werkt wel maar levert veel extra ballast in de macro op.
Door het opschonen daarvan en de toepasselijke rechtstreekse code te gebruiken werkt het wat soepeler allemaal
 
Laatst bewerkt:
Bedenk me net dat de macro mogelijk niet aan de sneltoets voor jouw installatie is toegewezen:

Doe het volgende terwijl het gedownloade bestand is geopend
_______________

Hoe kan ik een macro aan een toets toewijzen?



Ga naar Extra > Aanpassen.
Selecteer de tab Toetsenbord.
Selecteer OpenOffice-macro's onder Categorie.
Blader naar de macro die de gewenste functie bevat.
Selecteer de gewenste functie onder Functie.
Blader, onder Sneltoetsen, naar en selecteer de gewenste sneltoets(combinatie).
Klik op Wijzigen. De sneltoets verschijnt nu onder Toetsen.
__________________________
 
ik heb nog even een tijdje zitten prutsen, want ik had geen idee wat ik met die code moest doen. of waar ik die kon vinden om dat met die apostrof te veranderen. ben ik nog wel even mee zoet geweest : )

maarrr... het is uiteindelijk gelukt! ik ben zwaar onder de indruk. hartelijk dank voor je hulp, DiGro. de apostrof was inderdaad de truc. bizar dat het dan zo goed werkt. als ik nu iets selecteer en Alt+H gebruik, dan veranderen de letters in HOOFDLETTERS en tegelijkertijd wordt de achtergrond grijs. daar ben ik heel blij mee want dat gaat me veel tijd besparen.

toch nog een laatste vraag: weet je toevallig ook hoe je de macro stopzet? want als ik na het geselecteerde 'gewoon' verder wil typen dan blijven het hoofdletters (achtergrond kan ik wel middels knop 'Accentueer kleur' op 'Geen vulling' zetten).

nogmaals dank, DiGro
jazz
 
Je leert het snelste door zelf dingen te ontdekken :)

Je weet nu in ieder geval waar je de macro kunt vinden :thumb:

Ik had niet naar het vervolg gekeken, maar dat lijkt eenvoudig te zijn.

Na het uitvoeren van de macro blijft die staan in het geselecteerde woord, we moeten hem dus verplaatsen tot voorbij het geselecteerde woord.

Dat kan met de volgende code:
Code:
bExtend = false
oVC.goRight(1, bExtend) 'ga 1 teken naar rechts

Ga dus naar de macro: Extra > Macro's > Macro's beheren > OpenOffice Basic, zoek de macro open selecteer die en klik op Bewerken.

Voeg de code, bijv. met knippen en plakken vanuit deze post, in tussen EndIf en End Sub zodat de volledige macro er zo uitziet:
Code:
Sub HoofdlettersEnAchtergrond()
Dim oVc
oVC = ThisComponent.CurrentController.getViewCursor
If oVC.isCollapsed then
  Print "Niets geselecteerd."
Else oVC.CharCaseMap = 1 'hoofdletters  2 = kleine letters
	 oVc.CharBackColor = 12632256 'middengrijs
     'oVc.CharBackColor = 15132390  'lichtgrijs
     'oVc.CharBackColor = 16776960 'geel
     'oVc.CharBackColor = 9868950 'donkergrijs
'Print "Voltooid"   
EndIf
   bExtend = false
   oVC.goRight(1, bExtend) 'ga 1 teken naar rechts
End Sub

De cursor zal nu achter het geselecteerde woord komen te staan en je kunt weer doortypen, zonder hoofdletters en grijze achtergrond.

Suc6
 
wat je eenvoudig noemt... : ) mijn post was ruim 500 keer bekeken, zonder een reactie, dus het was aardig complexe materie. en als ik naar de code kijk, snap ik niet hoe zoiets kan. of hoe je uberhaupt zoiets leert maken. en stiekem vraag ik me ook af wat er dan allemaal nog meer mogelijk is. maar die discussie is waarschijnlijk voor een andere subcategorie, haha.
wat ik ook interessant vind, is dat de software-wensen die ik heb (waaronder zeer niet-gangbare) altijd te verhelpen zijn. iets zegt mij dat er dus altijd een oplossing is voor een software-issue, hoe ingewikkeld ook.

ook deze tip werkte meteen DiGro. wederom mijn hartelijke dank voor je hulp!!
groet, jazz
 
Klopt, macro's zijn handig om steeds repeterende taken uit te voeren op een snelle manier.

In principe kun je bijna alles met macro's sturen.
Helaas is de macrotaal van AOO ietwat ingewikkeld en vereist nogal wat leeswerk en veel proberen :D

Op deze pagina http://www.pitonyak.org/oo.php vind je een
document dat een goede handleiding is OpenOffice.org Macros Explained.odt V4.
Andrew is bezig aan de vierde editie en je vind er veel voorbeelden.
Ik gebruik die vaak door te knippen en te plakken en uitproberen.

Het is graag gedaan.
Blij dat het nu werkt zoals je wilt. Veel plezier ermee.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan