Toon posts:

Enter in VBA programmeren

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Is het mogelijk om een enter te programmeren in een If statement in word?

Ik heb nu de volgende regel:
{IF "A" = "1" "goed" "{IF "A" = "12" "goed1" "fout1" \*MERGEFORMAT}" \* MERGEFORMAT}

Maar nu moet eigenlijk tussen de 1 en 2 een enter code geplaatst worden. Want de uitslagen staan zo weergegeven:
1
2
3

is dat mogelijk?

Acties:
  • 0 Henk 'm!

  • teh_twisted
  • Registratie: Oktober 2005
  • Laatst online: 30-07 23:56
Normaal bij programmeertalen is dat \n voor *nix systemen en \r\n voor Windows systemen. Geen idee hoe dit bij VBA zit. Zal eventjes Googlen...

Tyan S7025, 1x Xeon E5520, 32GB DDR3-1333 ECC/REG, GTX275 896MB, 2x Samsung SM 2243SN, Logitech Perf MX. Laptop: MBP 10,1/6,2. Cams: Canon EOS600D+Tamron AF18-200, Sony W350. Gadgets: iPad 64GB 3G, iPhone 5 64GB, PS1-3. Auto: W211 E220CDI


Acties:
  • 0 Henk 'm!

  • koekiemonster
  • Registratie: Maart 2001
  • Laatst online: 13-08 19:58

koekiemonster

want a cookie

probeer eens gebruik te maken van vbNewLine

[webhero.nl]


Acties:
  • 0 Henk 'm!

  • Eskimootje
  • Registratie: Maart 2002
  • Nu online
Of bijvoorbeeld vbCrLf

Acties:
  • 0 Henk 'm!

  • teh_twisted
  • Registratie: Oktober 2005
  • Laatst online: 30-07 23:56
vbCrLf is wat ik vond maar buiten dat... mischien wat koekiemonster tikte.
Anders Googlen op: VBA newline

Tyan S7025, 1x Xeon E5520, 32GB DDR3-1333 ECC/REG, GTX275 896MB, 2x Samsung SM 2243SN, Logitech Perf MX. Laptop: MBP 10,1/6,2. Cams: Canon EOS600D+Tamron AF18-200, Sony W350. Gadgets: iPad 64GB 3G, iPhone 5 64GB, PS1-3. Auto: W211 E220CDI


Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Kan op meerdere manieren:
Chr$(10) & chr$(13)
of
crlf

Zo uit m'n hoofd..

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
en hoe verwerk ik dit dan in de regel?
{IF "A" = "1" "goed" "{IF "A" = "1Chr$(10)2" "goed1" "fout1" \*MERGEFORMAT}" \* MERGEFORMAT}?

Acties:
  • 0 Henk 'm!

  • GateKeaper
  • Registratie: April 2004
  • Laatst online: 05-08 21:46

GateKeaper

#1 Procastinator

"1"&Chr$(10)&"2"

& was 't koppelteken in VBA toch?

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Dit is geen vba, dit is een word field. Je kunt gewoon op enter drukken om een enter in te voegen, als in
IF "A" = "1
2"
:p

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hm wil nog niet werken...dit is de uitkomst:
{IF "1
2" = "1
2" "goed" "fout" \* MERGEFORMAT}

en ik krijg nog steeds uitkomst fout, terwijl het goed moet zijn!

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Geen "update field" (rechtsklikken) of de Nederlandse vertaling gedaan?

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Wat je ziet, is misschien wel niet wat het is.

Zo kan je een spatie ( een chr(32) ) zien, maar het zou een chr(160) kunnen zijn. Wellicht zoek je naar een enter, terwijl er shift-enter is gebruikt. Dan zijn ook totaal verschillende dingen om te checken.

Een file selecteren met een dialoogvenster, moet je eerst een variabele vullen, doe je meestal door een string van 255 karakters te vullen met chr(0) (althans, ik deed dat). Vervolgens kan je die file niet vinden, want de bestandsnaam is niet 255 karakters lang. Trimmen heeft geen nut, die haalt enkel chr(32) weg standaard.

Wat je zou kunnen doen, is de lengte van het veld checken, want er kan ook een chr(13) alleen gebruikt worden, en als je checkt op 10 & 13, ga je nat.

Check de lengte van het veld. Maak een for-next loop, en laat de ascii-code zien van elke positie in het veld. Dan weet je echt exact waar je op moet zoeken.

Wellicht dat je daar je probleem mee kan traceren.

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • Big Womly
  • Registratie: Oktober 2007
  • Laatst online: 01-09 13:39

Big Womly

Live forever, or die trying

Het leuke aan VBA macro's is dat je op de record-knop kan drukken, de handelingen die jej macro moet uitvoeren manueel ingeven, en vervolgens op stop klikken. Alle code staat nu in Module1. Bestudeer deze code even en haal eruit wat je nodig hebt.

When you talk to God it's called prayer, but when God talks to you it's called schizophrenia


Acties:
  • 0 Henk 'm!

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

Ik had overigens de volgorde fout blijkbaar in m'n eerste post. Een enter is niet 10 gevolgd door 13, maar precies andersom.

Maar zorg dat je exact weet wat er in de bron staat, anders kan je gewoon niet met zulke expressies aan de slag.

Je kan namelijk 2x een carrier return hebben, gevolgd door een linefeed. Het verschil zie je niet, maar het is wel een teken meer, waarbij je if de mist in gaat.

Want als je bijvoorbeeld dit laat zien:
code:
1
"9" & chr(8) & "1 " & chr(13) & chr(13) & chr(10) & "2 "

Dan zie je een 1 en op de volgende regel een 2. De 9 wordt door de backspace ( chr(8) ) weggehaald. En er staat een carrier return te veel in. En de cijfers hebben een spatie op het eind. Je ziet dus veel minder, dan er daadwerkelijk is.

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Verwijderd schreef op maandag 23 januari 2012 @ 14:14:
en hoe verwerk ik dit dan in de regel?
{IF "A" = "1" "goed" "{IF "A" = "1Chr$(10)2" "goed1" "fout1" \*MERGEFORMAT}" \* MERGEFORMAT}?
Heb je het nu over VBA of over velden? Je topictitel zegt het een, je replies het andere. Gebruik je alt-F11 op ctrl-F9? Erg groot verschil.

VBA is eenvoudig: zie dit topic / Google.

In een veld: [google=word field new line] -> http://en.allexperts.com/...08/5/Line-break-field.htm -> gewoon shift-enter gebruiken binnen het veld.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)

Pagina: 1