Avatar billede dsj1972 Juniormester
03. marts 2010 - 16:56 Der er 6 kommentarer og
1 løsning

hvordan kan man fjerne DocVariables i dokument når der ingen værdi er med kode???

Hejsa,

har et problem.....

jeg har en userform til at indtaste alle data, men nogle gange kan der ikke udfyldes data i alle felter og derfor kommer der ingen værdi i.

Derfor kunne jeg godt tænke mig hvis man kunne slette den reference på dokumentet når der ingen værdi er til den, således at den ikke optager en linie på dokumentet.

Dette spm er oprettet da jeg i andet spm http://www.eksperten.dk/spm/903119
Har måtte indse at det nok ikke er så lige til som sådan, men kig lige på det andet spm for at se hvad det drejer sig om og eksembler.

Mvh dsj
Avatar billede Lene Fredborg Ekspert
03. marts 2010 - 18:54 #1
Jeg så godt dit oprindelige spørgsmål, men jeg havde ikke lige tid til at svare…
Jeg har skimmet alle kommentarerne deri.

Det kan godt lade sig gøre at kode det via VBA, men du kan reelt styre det direkte via felternes opbygning i dine skabeloner. Jeg ville løse det sådan:

1. I UserFormen, når man lader et felt stå tomt, ville jeg gøre det sådan, at det skriver f.eks. "tom" som værdi i DocVariablen. Dermed bevares variablen, og felterne får ikke en fejlkode. Men du vil jo ikke have ordet "tom" stående i dokumentet - derfor pkt. 2:

2. I selve skabelonerne, der hvor du har DocVariable-felter, som muligvis vil ende med at være blanke = værdien "tom", ville jeg ændre feltkonstruktionerne, så de indeholder en betingelse. Hvis f.eks. efternavn kunne være tomt:


{ IF { DocVariable "VarEfterNavn"} = "tom" "" "{ DocVariable "VarEfterNavn"}
"}

MEGET VIGTIGT:
- Læg mærke til alle citationstegn mm. - f.eks. tegnet lige før sidste klamme i 2. linje af koden.
- Alle feltklammer skal laves med Ctrl+F9.
- Afsnitstegnet i det yderste sæt feltklammer står INDEN FOR feltklammen.
- Det eksisterende afsnitstegn, som står efter feltet, skal fjernes, så der kun findes det inden for feltklammerne.
- Tast Alt+F9 for at få vist feltkoderne, så du kan se, hvad du laver.
- Du skal i VBA tildele værdien "tom", inden koden, der opdaterer felter, køres.
- Tast Alt+F9 igen, når du er færdig - og marker det hele og tast F9 for at opdatere.

Feltkonstruktionen virker sådan:
Hvis DocVariabelen "VarEfterNavn" har værdien "tom", indsættes ingenting i dokumentet (angives af de to cicationstegn uden mellemrum). Hvis værdien IKKE er "tom", indsættes værdien efterfulgt af et afsnitstegn.

For at du bedre kan se, hvad der sker med flere felter i sammenhæng, er her vist, hvordan 2 feltkonstruktioner til fornavn og efternavn ville se ud, hvis de skulle stå på hver sin linje (her sit afsnit) - læg mærke til, at feltkonstruktion 2 begynder lige efter slutklammen til feltkonstruktion 1:

{ IF { DocVariable "VarForNavn"} = "tom" "" "{ DocVariable "VarForNavn"}
"}{ IF { DocVariable "VarEfterNavn"} = "tom" "" { DocVariable "VarEfterNavn"}
"}
Avatar billede dsj1972 Juniormester
03. marts 2010 - 19:54 #2
Hej Lene,

Nu oprettede jeg kun dette spm fordi jeg gerne ville have flere til at give forslag :-)

Det glæder mig at du kom med forslag, for du kender jo i forvejen til mit projekt.

Jeg var slet ikke klar over at man også kunne blande If sætninger ind i referencerne.
Dit forslag lyder bestemt interessant, selv om det godt nok bliver lidt arbejde at skulle gå alle skabelonerne igennem.
Men jeg tror det er det værd for din løsning er nok den sikreste løsning.

Så vil lige lave en prøve og så vender jeg tilbage.
Avatar billede Lene Fredborg Ekspert
03. marts 2010 - 22:11 #3
Der er en ekstra fordel ved den løsning, jeg beskrev: I selve dokumenterne bliver alle felterne stådende, og hvis du efterfølgende får brug for at ændre et felt, så det ikke længere er "tomt", skal du blot ændre værdien af pågældende DocVariable og opdatere felter - og det "forsvundne" afsnit dukker op igen.
Avatar billede dsj1972 Juniormester
04. marts 2010 - 17:14 #4
Hej igen,

Ja undskyld det tog lidt tid, fik lige lidt mave onde igår.

Jeg har nu afprøvet det og for dælen da Lene, hvor det bare virker, super godt!!
Avatar billede Lene Fredborg Ekspert
04. marts 2010 - 17:52 #5
Jamen, det er da bare godt! Man kan gøre rigtig mange interessante ting med felter :-)
Avatar billede dsj1972 Juniormester
04. marts 2010 - 17:58 #6
Ja det må jeg sige, håber da jeg en dag kunne komme til at blive rigtig god til at lave sådan noget her, det er både sjovt og interessant at lave og meget nyttigt endda :-)

Er du selv lært i det eller der uddannelse bag???
Avatar billede dsj1972 Juniormester
04. marts 2010 - 18:08 #7
Har du iøvrigt en idé om det er muligt at udvælge et stjernetegn ud fra en dato?

Den her smækker jeg gerne op som nyt spm, hvis det er muligt :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Tag et kursus i Word og øg effektiviteten

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester