Avatar billede xenocypraz Nybegynder
12. august 2003 - 09:32 Der er 14 kommentarer og
1 løsning

Oprette fil og skrive til den

Hejsa,

Lige lidt hurtigt hjælp til en begynder...

Jeg har en checkliste, alt efter hvad jeg "checker" af, kommer den med en msgbox til hver "check".

Jeg har brug for at den istedet for at lave en checkbox,

skal den oprette en fil, og tilføje en linie til filen,
den skal så lave en linie for hvert afkrydset check.

på forhånd tak
Avatar billede -thomas- Nybegynder
12. august 2003 - 09:39 #1
Brug funktionen:

Public Function InsertLine(fName As String, LineNumber As Long, LineText As String) _
    As String

Dim oFSO As New FileSystemObject
Dim oFSTR As TextStream
Dim ret As Long
Dim lCtr As Long
 
If oFSO.FileExists(fName) Then
    Set oFSTR = oFSO.OpenTextFile(fName)
    Do While Not oFSTR.AtEndOfStream
      lCtr = lCtr + 1
      If lCtr = LineNumber Then
'Error happens here!/  oFSTR.Write LineText
            Exit Do
      End If
      oFSTR.SkipLine
  Loop
    oFSTR.Close
    Set oFSTR = Nothing

  End If
End Function
Avatar billede -thomas- Nybegynder
12. august 2003 - 09:44 #2
Eller:

Dim OutPutFile, checkboxvalue
Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
Set OutPutFile = FileSystem.CreateTextFile("fil.txt", True)

OutPutFile.WriteLine checkboxvalue
OutPutFile.Close

Set FileSystem = Nothing

så skal du bare sætte checkboxvalue lig værdien af din checkbox og køre en løkke hvis der er flere af dem...
Avatar billede xenocypraz Nybegynder
12. august 2003 - 09:52 #3
hm... jeg er meget ny i VB.

Så jeg ved ikke hvordan man får den til at køre en løkke,
Avatar billede -thomas- Nybegynder
12. august 2003 - 09:57 #4
Du kan også gøre det sådan uden en løkke:

Dim OutPutFile, checkboxvalue
Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
Set OutPutFile = FileSystem.CreateTextFile("fil.txt", True)

If check1.value = 1 Then OutPutFile.WriteLine "Check 1 er afkrydset"
If check1.value = 2 Then OutPutFile.WriteLine "Check 2 er afkrydset"
If check1.value = 3 Then OutPutFile.WriteLine "Check 3 er afkrydset"
'Osv osv'
OutPutFile.Close

Set FileSystem = Nothing
Avatar billede -thomas- Nybegynder
12. august 2003 - 09:57 #5
Ups, du får den lige igen:

Dim OutPutFile, checkboxvalue
Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
Set OutPutFile = FileSystem.CreateTextFile("fil.txt", True)

If check1.value = 1 Then OutPutFile.WriteLine "Check 1 er afkrydset"
If check2.value = 2 Then OutPutFile.WriteLine "Check 2 er afkrydset"
If check3.value = 3 Then OutPutFile.WriteLine "Check 3 er afkrydset"
'Osv osv'
OutPutFile.Close

Set FileSystem = Nothing
Avatar billede xenocypraz Nybegynder
12. august 2003 - 09:58 #6
det ligner noget jeg har set før, jeg laver det lige, og vender tilbage :-)
Avatar billede xenocypraz Nybegynder
12. august 2003 - 10:09 #7
hm... når jeg forsøger at køre programmet melder den fejl ved Set FileSystem = Nothing
Avatar billede xenocypraz Nybegynder
12. august 2003 - 10:09 #8
ups

Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject

det er her den melder fejl
Avatar billede xenocypraz Nybegynder
12. august 2003 - 10:11 #9
Private Sub Command1_Click()


Dim OutPutFile, checkboxvalue
Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
Set OutPutFile = FileSystem.CreateTextFile("install.bat", True)








If Check1.Value = 1 Then        'Acrobat Reader

    OutPutFile.WriteLine "p:\install\acrobat\acrobatreader6\install.bat"


If Check2.Value = 1 Then        'Office 2000

    MsgBox ("\\toolserv\")

If Check3.Value = 1 Then        'Proofing tools

    MsgBox ("sådan")


Set FileSystem = Nothing
OutPutFile.Close



End If
End If
End If


End Sub
Avatar billede xenocypraz Nybegynder
12. august 2003 - 10:12 #10
sådan der ser min hurtige slamkode ud, det gør det vist nemmere for dig
Avatar billede -thomas- Nybegynder
12. august 2003 - 10:14 #11
Ups, var lidt hurtig.... prøv dette:

Dim OutPutFile, checkboxvalue, fs
Set fs = CreateObject("Scripting.FileSystemObject")
Set OutPutFile = fs.CreateTextFile("install.bat", True)








If Check1.Value = 1 Then        'Acrobat Reader

    OutPutFile.WriteLine "p:\install\acrobat\acrobatreader6\install.bat"


If Check2.Value = 1 Then        'Office 2000

    MsgBox ("\\toolserv\")

If Check3.Value = 1 Then        'Proofing tools

    MsgBox ("sådan")


Set fs = Nothing
OutPutFile.Close



End If
End If
End If
Avatar billede -thomas- Nybegynder
12. august 2003 - 10:15 #12
Du kan lige så godt lukke din If's med det samme hvis du ikke skal bruge dem mere:

Dim OutPutFile, checkboxvalue, fs
Set fs = CreateObject("Scripting.FileSystemObject")
Set OutPutFile = fs.CreateTextFile("install.bat", True)

If Check1.Value = 1 Then        'Acrobat Reader
    OutPutFile.WriteLine "p:\install\acrobat\acrobatreader6\install.bat"
End If

If Check2.Value = 1 Then        'Office 2000
    MsgBox ("\\toolserv\")
End If

If Check3.Value = 1 Then        'Proofing tools
    MsgBox ("sådan")
End If

Set fs = Nothing
OutPutFile.Close
Avatar billede xenocypraz Nybegynder
12. august 2003 - 10:19 #13
du er da for sej :-) tak for hjælpen
Avatar billede -thomas- Nybegynder
12. august 2003 - 10:21 #14
hehe, velbekomme :-)
Avatar billede -thomas- Nybegynder
12. august 2003 - 10:23 #15
For god ordensskyld behøver du ikke erklære variabler der ikke bliver brugt. Har lige rettet til:

Dim fs, OutPutFile
Set fs = CreateObject("Scripting.FileSystemObject")
Set OutPutFile = fs.CreateTextFile("install.bat", True)

If Check1.Value = 1 Then        'Acrobat Reader
    OutPutFile.WriteLine "p:\install\acrobat\acrobatreader6\install.bat"
End If

If Check2.Value = 1 Then        'Office 2000
    MsgBox ("\\toolserv\")
End If

If Check3.Value = 1 Then        'Proofing tools
    MsgBox ("sådan")
End If

Set fs = Nothing
OutPutFile.Close
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

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging