/ Forside / Teknologi / Administrative / MS-Office / Nyhedsindlæg
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
WD VBA Forvirring om variablers levetid
Fra : Henrik Hougaard


Dato : 08-11-02 09:33

Jeg er noget forvirret om variablers "levetid". Jeg har brug for at
dimensionere en string variabel som beholder dens værdi i hele projektet.
Jeg dimensionere den ved Document Open og tildeler den en værdi, som jeg så
skal læse senere i et moduls procedure. Men uanset hvad jeg prøver er
værdien tom, når jeg skal bruge den igen. Den overføres med andre ord ikke
mellem modulerne.

Jeg har efterhånden prøvet alt Public, Static osv men intet virker.

Er der en der har løsningen vil jeg være møj glad!

Henrik



 
 
Leo Heuser (08-11-2002)
Kommentar
Fra : Leo Heuser


Dato : 08-11-02 10:35

Henrik

Den skal oprettes som Public, men i et *almindeligt* modul.
Dimensionér den i den øverste linje i modulet (inden sub'er
og funktioner)

--
Med venlig hilsen
Leo Heuser


"Henrik Hougaard" <fam.hougaard@nospam.stofanet.dk> skrev i en meddelelse
news:3dcb76df$0$267$edfadb0f@dread11.news.tele.dk...
> Jeg er noget forvirret om variablers "levetid". Jeg har brug for at
> dimensionere en string variabel som beholder dens værdi i hele projektet.
> Jeg dimensionere den ved Document Open og tildeler den en værdi, som jeg

> skal læse senere i et moduls procedure. Men uanset hvad jeg prøver er
> værdien tom, når jeg skal bruge den igen. Den overføres med andre ord ikke
> mellem modulerne.
>
> Jeg har efterhånden prøvet alt Public, Static osv men intet virker.
>
> Er der en der har løsningen vil jeg være møj glad!
>
> Henrik
>
>



Mads (08-11-2002)
Kommentar
Fra : Mads


Dato : 08-11-02 10:42


"Henrik Hougaard" <fam.hougaard@nospam.stofanet.dk> wrote in message
news:3dcb76df$0$267$edfadb0f@dread11.news.tele.dk...
> Jeg er noget forvirret om variablers "levetid". Jeg har brug for at
> dimensionere en string variabel som beholder dens værdi i hele projektet.
> Jeg dimensionere den ved Document Open og tildeler den en værdi, som jeg

> skal læse senere i et moduls procedure. Men uanset hvad jeg prøver er
> værdien tom, når jeg skal bruge den igen. Den overføres med andre ord ikke
> mellem modulerne.
>
> Jeg har efterhånden prøvet alt Public, Static osv men intet virker.
>
> Er der en der har løsningen vil jeg være møj glad!

Jeg har ikke en løsning for det virker hos mig.
Jeg har brugt Public til at definere en variabel i mit Normal projekt. Den
er tilgænglig fra alle moduler i projektet og fra andre projekter når der
bruges denne termologi <Pojekt navn>.<Variabel>

Mvh Mads
PS Du husker at definere variabelen udenfor dine procedurer?



Henrik Hougaard (08-11-2002)
Kommentar
Fra : Henrik Hougaard


Dato : 08-11-02 11:26

Kan du ikke lige give et eksempel. Hvor er den dimensionere, hvor tildeler
du værdi og hvor læser du værdien igen.

Jeg dimensionerer med Public i Microsoft Word Objects

Sætter en værdi via koden på en knap på en Forms

Læser værdien igen i en Sub i modulet Module1 (forsøger i hvertfald - for
det virker ikke)!



"Mads" <mads.knudsen@NOSPAMprivat.dk> skrev i en meddelelse
news:3dcb86dd$0$52926$edfadb0f@dread11.news.tele.dk...
>
> "Henrik Hougaard" <fam.hougaard@nospam.stofanet.dk> wrote in message
> news:3dcb76df$0$267$edfadb0f@dread11.news.tele.dk...
> > Jeg er noget forvirret om variablers "levetid". Jeg har brug for at
> > dimensionere en string variabel som beholder dens værdi i hele
projektet.
> > Jeg dimensionere den ved Document Open og tildeler den en værdi, som jeg
> så
> > skal læse senere i et moduls procedure. Men uanset hvad jeg prøver er
> > værdien tom, når jeg skal bruge den igen. Den overføres med andre ord
ikke
> > mellem modulerne.
> >
> > Jeg har efterhånden prøvet alt Public, Static osv men intet virker.
> >
> > Er der en der har løsningen vil jeg være møj glad!
>
> Jeg har ikke en løsning for det virker hos mig.
> Jeg har brugt Public til at definere en variabel i mit Normal projekt. Den
> er tilgænglig fra alle moduler i projektet og fra andre projekter når der
> bruges denne termologi <Pojekt navn>.<Variabel>
>
> Mvh Mads
> PS Du husker at definere variabelen udenfor dine procedurer?
>
>



Mads (08-11-2002)
Kommentar
Fra : Mads


Dato : 08-11-02 12:02


"Henrik Hougaard" <fam.hougaard@nospam.stofanet.dk> wrote in message
news:3dcb914b$0$52957$edfadb0f@dread11.news.tele.dk...
> Kan du ikke lige give et eksempel. Hvor er den dimensionere, hvor tildeler
> du værdi og hvor læser du værdien igen.
>
> Jeg dimensionerer med Public i Microsoft Word Objects
>
> Sætter en værdi via koden på en knap på en Forms
>
> Læser værdien igen i en Sub i modulet Module1 (forsøger i hvertfald - for
> det virker ikke)!

Som Leo også nævner skal vaiabler defineres i et modul under Modules med
kommandoen Public som det første for at give det du ønsker.
Så kan du godt sætte værdien far andre moduler, f.eks fra et modul under
Microsoft Word Objects.

Starten af det modul kunne se sådan ud

Option Explicit ' Så husker du at definere alle variabler og stavefejl er
lettere at finde

Public MinVarabel as String
'MinVariabel huskes sålænge dette projekt er åbent og kan læses fra alle
moduler

Sub VisMinVariabel()
'
MsgBox MinVariabel

End Sub






Henrik Hougaard (08-11-2002)
Kommentar
Fra : Henrik Hougaard


Dato : 08-11-02 12:17

Jeg har prøvet dit forslag, men det virker ikke. Haha midt under
skrivningen af denne mail, hvor jeg sidder og klipper koden ind opdager jeg
fejlen - fjols, fjols, fjols (mig selv altså). Skivefejl var årsagen.
Deklareret variablen FletFil, men kalder den senere FletTil. Nu funker det.
Tak til både Mads og Leo for indslagene.

Jeg lader lige koden stå et øjeblik (til min egen skam!)

Her er koden:

I Module1 (under Modules) under General, Declerations sektionen:

Public FletFil As String

I Module1 under Modules:

Sub VisFletteMenuPrinter()

FletTil = wdSendToPrinter
frmFlet.Show

End Sub


I en Formen "frmFlet" (når knappen btFlet aktiveres) under Forms:

Private Sub btFlet_Click()

With ActiveDocument.MailMerge
.Destination = FletTil
.Execute
End With

End Sub

Henrik



Mads (08-11-2002)
Kommentar
Fra : Mads


Dato : 08-11-02 12:36


"Henrik Hougaard" <fam.hougaard@nospam.stofanet.dk> wrote in message
news:3dcb9d39$0$267$edfadb0f@dread11.news.tele.dk...
> Jeg har prøvet dit forslag, men det virker ikke. Haha midt under
> skrivningen af denne mail, hvor jeg sidder og klipper koden ind opdager
jeg
> fejlen - fjols, fjols, fjols (mig selv altså). Skivefejl var årsagen.
> Deklareret variablen FletFil, men kalder den senere FletTil. Nu funker
det.
> Tak til både Mads og Leo for indslagene.

Selv tak.

Må jeg anbefale at du VB editoren vælger Tools -> Options og sætter kryds i
Require Variable Declaration på Editor taben.
Det indsætter Option Explicit i toppen af alle nye moduler.
Det giver en fejlmelding under kompileringen så den slags irriterende
stavefejl opdages

Mvh Mads
Som selv blev træt af den slags stavefejl og derfor (næsten) altid bruger
Option Explicit.
Det kræver desuden mere hukommelse fordi ikke pre-definerede varible bliver
defineret af typen Variant. Syntax fejl kan også fanges.





Leo Heuser (09-11-2002)
Kommentar
Fra : Leo Heuser


Dato : 09-11-02 07:57

Velbekomme, Henrik.


"Henrik Hougaard" <fam.hougaard@nospam.stofanet.dk> skrev i en meddelelse
news:3dcb9d39$0$267$edfadb0f@dread11.news.tele.dk...

> Tak til både Mads og Leo for indslagene.




Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste