/ Forside/ Teknologi / Administrative / MS-Office / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
Betinget formatering/autoformatering i W~
Fra : Peo
Vist : 303 gange
300 point
Dato : 25-04-03 00:10

I forbindelse med udabejdelsen af diverse tutorials til Flash mangler jeg vejledning i hvordan jeg for automatiseret (farve-)formateringen af de actionscripts (stykker af actionscript-kode), som disse tutorials indeholder.
Jeg skriver tutorials'ne i word2000. Jeg formoder at jeg ved at gøre brug af en macro kan få word2000 til at kigge dokumentet igennem for specielle ord, ord der begynder med- og slutter på, osv. og derefter give disse ord og tekst-stykker forskellige farver alt efter hvilken type de er.

Jeg har forsøgt mig med at optage macro'er hvor jeg søger efter ord og derefter giver dem en farve, men jeg kan ikke få det til at spille som jeg gerne vil det.
ala:
led efter disse ord: "function", "if", "else" osv. og gør dem blå
linier der begynder med "//" gøres pink
osv.

Da jeg er ret grøn på området har jeg brug for en rigtigt grundig dummy-gennemgang af hvorledes en sådan macro opbrygges, evt. med et eks. på en sådan macro, som jeg så selv kan tilrette.

 
 
Kommentar
Fra : emesen


Dato : 25-04-03 21:07

Ok jeg prøver.
Kopier dit dokument. Åben kopien. Indspil din makro.
Test-tekst:

jeg gik en tur..
jeg vil låbe en tur
kopier denne tekst.-slut

funktioner>makroer>indspil ny makro>makronavn=test_tekst>vælg værktøjslinier>
vælg gem i "alle dokumenter">ok
træk "normal.newmacros.test_tekst" op på værktøjslinien>
h-klik på denne og ret tekst til den du vil have>enter>luk
.............Husk sort firkant stopper makro.................
(Nu kan du gøre alle de ting du vil have makro til at gøre.)
Alt herfra gøres i een lang rækkefølge.

Rediger>erstat>søgefter"gik">erstat med"går">erstat alle>ok>
søg efter"..">flere>speciel>afsnitstegn>erstat med".">flere>speciel>afsnitstegn>erstat alle>ok>
søg efter"låbe en">erstat med"løbe en lille">erstat alle>ok>
søg efter"st.-sl">erstat med"st.>speciel>afsnitstegn>"sl">erstat alle>ok>
søg efter"slut">erstat med"slut">marker ordet "slut">formater>skrifttype>skriftfarve=rød>ok
erstat alle>ok>luk>TRYK FIRKANT =STOP

Funktioner>makro>makroer>marker en makro og slet (hvis du ikke kan li' den.)
Anførselstegn "" skrives ikke.
Jeg håber jeg har husket det hele.
Emesen.

Kommentar
Fra : Peo


Dato : 26-04-03 02:13

Udemærket!
Jeg har gennemgået eksemplet og kan se fremgangsmåden. Jeg mangler dog en anelse mere før jeg er ved det endelige/ønskelige resultat.

Hvorledes søger og erstatter jeg på en hel linie og/eller et helt afsnit hvori jeg kun ved hvad linien/afsnittet starter med, og hvad det slutter med. eks.
Som i flere andre programmeringssprog kommenterer man i actionscript på følgende facon:

// dette er en enklet-linie kommentar

/*
Dette er et eksempel på hvordan en
fler-liniet kommetar ser ud i actionscript.
*/

Disse kommentare skal jeg kunne søge på og erstatte med en kopi af sig selv, bare i en anden farve, men det eneste jeg kan være sikker på er at de henholdsvis;
begynder med // og ender på ^p
begynder med /* og ender på */

Har du emesen eller en anden et kvalificeret bud på hvordan jeg kringler dem?

Iøvrigt, tak for et udførligt svar - lækkert med bredvillig hjælp og overbærenhed med en begynder.

Kommentar
Fra : emesen


Dato : 26-04-03 09:34

Ja den var straks sværere.
Jeg kan kun fortælle hvordan du kommer ind. men ikke hvordan du bruger den.
funktionr>makro>makroer>vælg makornavn>rediger.....nu ligner det visual basic, men her har jeg ikke været før..........så der kan jeg ikke hjælpe.
Emesen.


Kommentar
Fra : Peo


Dato : 26-04-03 11:50

Jeg er selv kommet en anelse videre, i det at jeg har løst den enkelt-liniet kommentar. FYI:
Da man ikke kan søge på paragraph (afsnit-tegnet ^p) når man gør bruge af wildcards* (hvilket jeg skal da jeg ikke ved hvad der står i kommentaren), kan man bruge koden ^13 i stedet for.
Således kommer min 'søg på' til at se således ud: //*^13
Den er straks værre når jeg skal lede efter den fler-liniet kommentar som jo starter med /* og slutter med */ - De indeholder jo stjerner(*), tegnet jeg også bruger til at fortælle Word at den skal finde 'hvadsomhelst' imellem det startende og afsluttende. Her tror jeg at man skal indsætte ASCII-koden for det ønskede specielle tegn (* = 042) men jeg kan ikke få det til at fungere (fra word-hjælpen:"^0nnn, where nnn is the character code"):
/^042*^042/
...altså / + koden for en stjerne + altherimellem-stjernen + koden for en stjerne + /
Men søgningen bliver foretaget som om jeg kun har skrevet: /*/ !?

Jeg har været inde i macro-editoren for at se om der ikke var en lettere copy-paste facon jeg kan lave macroen på, da jeg skal søge på mange ord og give dem den samme farve. I denne forbindelse vil jeg rigtigt gerne høre fra macro-visual-basic eksperter der kan fortælle mig nærmere om emnet. Jeg formoder at der er en lettere facon at gøre tingene på, da jeg reelt sidder og laver en gentagelse af nøjagtig den samme farve-formatering på en hel række ord.
Det må kunne lade sig gøre at lave en liste (et array måske?) af de ord jeg ønsker at formatere til en enkelt farve, og så loope igennem denne liste og lave formateringen for hvert loop. Det virker umådeligt omstændigt at skulle skrive:

Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Color = wdColorBlue
With Selection.Find
.Text = "function"
.Replacement.Text = "function"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = True
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With

..for hver ord.

Eny takers?

Kommentar
Fra : emesen


Dato : 26-04-03 17:10

Chr$ er en funktion der indsætter ASCII-tegnet med det nummer man angiver i parantesen. Chr$(13) betyder at der bliver indsat linieskift.
Dette er udpluk fra "start på Visual Basic 6.0" fra IDG- forlag
Så må den også kunne finde et ASCII tegn.
Emesen.



Kommentar
Fra : emesen


Dato : 26-04-03 21:19

I søg efter: skriv" /*(hak af i brug jokertegn)*/" - så virker den.
Emesen.

Kommentar
Fra : emesen


Dato : 26-04-03 21:24

Jeg glemte lige, at der intet skal stå i erstat med, men sørg for at curseren er i ruden når du formater>skriftfarve>rød


Kommentar
Fra : Peo


Dato : 26-04-03 23:43

Den går desværre ikke, da den finder alt imellem en / og den næste /.
Den skal finde og er statte alt imellem "/*" og "*/" - Stjernerne er her en del af det der skal søges på ikke wildcard-stjerne.

Kommentar
Fra : emesen


Dato : 27-04-03 01:04

Men det var tæt på.
Så kan det gøres sådan. I tre tempi, ændre stjerne til noget unikt farve mellem tekst,
førestjernen tilbage. Wildcard skal kun være hakket i fase 2
søg efter "*" erstat med "æøå" erstat alle
søg efter "/æøå*æøå/" erstat med rød erstat alle
søg efter "æøå" erstat med "*" erstat alle
afprøvet med denne

/*abc
*/
def
/xxx/

kun " /*abc*/ " blev rød
Emesen.


Kommentar
Fra : emesen


Dato : 29-04-03 21:48

Fik du løst dit problem?
Emesen.

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407831
Brugere : 218875

Månedens bedste
Årets bedste
Sidste års bedste