Avatar billede Claus Mester
21. august 2002 - 11:59 Der er 4 kommentarer og
1 løsning

vba word: Gem variabler til txt fil

Hej.

Jeg skal have oprettet en funktion der gemmer mine variabler i et dokument (activedocument.variables) i en txt fil.

Derefter skal jeg ved tryk på cmdtest indlæse variablerne igen.

Har nogen et forslag på kode?

nicolaus
Avatar billede martin_moth Mester
21. august 2002 - 21:08 #1
Kombiner

http://www.eksperten.dk/spm/100330 (læs/skriv til fil)

&

http://www.eksperten.dk/spm/245916 (loop gennem alle variabler)

Så er du der!

PS - der er MASSER af besvarede spørgsmål med hvordan man læser/skriver til en fil (søg fx. på "gem fil") - det link jeg har givet er bare et af dem

/Martin
Avatar billede Claus Mester
22. august 2002 - 11:46 #2
Den er jeg med på. MEN ...
Variablerne indeholder jo ikke kun én oplysning, men to; name og value.
Name skal gemmes og sidenhen indlæses i combobox og value ligeså, blot til txtdata.txt.

Når jeg gemmer sker det som name og value i én streng ("Name Value"). Hvordan kan jeg gemme name og value i en *.txtfil og sidenhen indlæse name og value hver for sig???
Avatar billede Claus Mester
22. august 2002 - 12:39 #3
Nu har jeg fundet ud af at skrive Name og Value på hver sin linie, under hinanden med
Open "I:\TESTFILE.txt" For Input As #1
Do While Not EOF(1)
    antalposter = antalposter + 1
    Input #1, PostID(antalposter)
    Input #1, PostData(antalposter)
Loop
Close #1

Men når jeg skal indlæse dem med nedenstående kode, får jeg fejlmedd. "Input past end of file".

Hvad gør jeg, eksperter???
Avatar billede Claus Mester
22. august 2002 - 12:41 #4
Open "I:\TESTFILE.txt" For Output As #1
    Write #1, Format(Date, dd, vbMonday, vbFirstFullWeek)
For Each avar In ActiveDocument.Variables
    Write #1, avar.Name '& " Value:" & avar.Value
    Write #1, avar.Value
Next
Close #1    ' Close file.


Koden øverst er selvfølgelig til "gem" og denne til "indlæs"
Avatar billede martin_moth Mester
22. august 2002 - 13:26 #5
Mth. Input past end of file:

Jeg vil tro, at den fejl opstår, fordi du indlæser 2 (ikke 1) linier i hvert loop, og loopet stopper først ved EOF. Således forsøger du at læse netop en linie mere end der er i filen.

Enten kan du lave lidt om på dit indlæsnings-loop, eller smide en ekstra linie ind når du skriver til filen, f.eks:

  For Each avar In ActiveDocument.Variables
    Write #1, avar.Name '& " Value:" & avar.Value
    Write #1, avar.Value
  Next
  Write #1, "Dummy-linie" 'Linie der forhindrer "Input past end of file"
  Close #1   

/Martin
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
Kurser inden for grundlæggende programmering

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

IT-JOB

Capgemini Danmark A/S

AI Data Architect

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger en IT-supporterelev til lokal IT på Haderslev Kaserne

Capgemini Danmark A/S

Java Engineer

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Solution Manager til Cyberdivisionen