soort schakelbord ?

Status
Niet open voor verdere reacties.
Ik kan wel zien dat je weinig met mijn adviezen hebt gedaan.

Gebruik de code van post #29 eens.
 
Code:
 Dim open As New OpenFileDialog
            open.Filter = "Alle Bestanden *.*|*.*"
            If open.ShowDialog() = DialogResult.OK Then
                [COLOR="red"]TextBox[/COLOR].Text = open.FileName
                With [COLOR="red"]Bttn[/COLOR]
                    .Tag = [COLOR="red"]Tag[/COLOR]
                    .Text = [COLOR="red"]Text[/COLOR]

de delen in het rood van jou code geven een fout melding dit had ik in een eerdere post ook aangegeven. En daarom had ik er verder niks mee gedaan omdat ik niet wist hoe ik dit kon oplossen.
Variabele "...." is used before it has been assigned a value

hierna ben ik verder wezen proberen (prutsen) om de code toch korter te krijgen en kwam tot de conclusie dat ik de textboxen helemaal niet nodig had.
en na nog verder proberen (prutsen) ook de forecolor aangepast en de radiobutton text

de code die ik gemaakt heb post ik vanavond ik moet voor nu helaas naar mn werk

Ik hoop alleen niet dat ik jou nu oncorrect behandel door mijn aanpassingen aan de code
Mocht ik dit onbedoeld toch gedaan hebben dan mijn oprechte excuses hiervoor
 
pasan zei:
Ik hoop alleen niet dat ik jou nu oncorrect behandel door mijn aanpassingen aan de code
Mocht ik dit onbedoeld toch gedaan hebben dan mijn oprechte excuses hiervoor

Natuurlijk niet! Je bent vrij mijn code te gebruiken (of niet.) :thumb: Alleen ik vroeg me af wáárom je het niet gebruikte. Ik heb daar schijnbaar overheen gelezen. :o


Maar het staat wél in mijn code van post #29, daar declareer ik:

[CPP] Dim Tag, Text As String
Dim TextBox As TextBox
Dim Bttn As Button
[/CPP]
 
ik had en heb vandaag nog een keer de code geplaatst compleet zoals jij hem gepost hebt en ik krijg de foutmelding zoals in mn vorige reactie
 
elke blokje code geld hier voor button 1
in mijn geval heb ik er 14 buttons staan dus van elk blokje code staan er 14 onder elkaar
onderstaande code bij het laden van de form
Code:
Private Sub Form1_Load() Handles MyBase.Load
        On Error Resume Next
        Dim Reader1 As New StreamReader("TextFile1.txt", False)
        Me.Button1.Text = Reader1.ReadToEnd
        If Button1.Text.EndsWith(".xls") Or Button1.Text.EndsWith(".xlsx") Or Button1.Text.EndsWith(".xlsm") Then
            Me.Button1.ForeColor = Color.Green
            Me.RadioButton1.Text = "EXCEL"
        ElseIf Button1.Text.EndsWith(".pdf") Then
            Me.Button1.ForeColor = Color.Red
            Me.RadioButton1.Text = "Pdf"
       ElseIf Button1.Text.EndsWith(".doc") Or Button1.Text.EndsWith(".docx") Then
            Me.Button1.ForeColor = Color.Blue
            Me.RadioButton1.Text = "WORD"
        Else
            Me.Button1.ForeColor = Color.Black
        End If
        Reader1.Close()

onderstaande code open show dialog
Code:
Private Sub Button21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button21.Click
        Dim open As New OpenFileDialog
        If Me.RadioButton1.Checked = True Then
            open.Filter = "Alle Bestanden *.*|*.*"
            If open.ShowDialog() = DialogResult.OK Then
                Button1.Text = open.FileName
                RadioButton1.Checked = False
                Dim Writer As New StreamWriter("textfile1.txt", False)
                Writer.Write(Button1.Text)
                Writer.Close()
            End If
            If Button1.Text.EndsWith(".xls") Or Button1.Text.EndsWith(".xlsx") Or Button1.Text.EndsWith(".xlsm") Then
                Me.Button1.ForeColor = Color.Green
                Me.RadioButton1.Text = "EXCEL"
            ElseIf Button1.Text.EndsWith(".pdf") Then
                Me.Button1.ForeColor = Color.Red
                Me.RadioButton1.Text = "Pdf"
            ElseIf Button1.Text.EndsWith(".doc") Or Button1.Text.EndsWith(".docx") Then
                Me.Button1.ForeColor = Color.Blue
                Me.RadioButton1.Text = "WORD"
            Else
                Me.Button1.ForeColor = Color.Black
            End If
        End If
onderstaande code om de button weer leeg te kunnen maken
Code:
Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.Click
        If RadioButton1.Checked = True Then
            Me.Button1.Text = ""
            Me.RadioButton1.Text = "B1"
            Dim Writer As New StreamWriter("TextFile1.txt", False)
            Writer.Write(Button1.Text)
            Writer.Close()
        End If
 
http://www.mediafire.com/?m5424zlwdpxm4dr

hier de complete map

ik heb dit schakelbord op mn eigen pc geinstaleerd en ik merk niks van enige snelheids verlies, lijkt mij ook logisch want op zich hoeft er maar weinig te gebeuren.
Een schoonheidsprijs verdient het mischien niet maar in zn eenvoud vind ik het toch een makkelijk hulpstukje op mn PC
En voortbordurend op dit schakelbord had ik eigenlijk nog een gebruikers vraag
Maar mischien moet ik een nieuw draadje starten, als dat zo is hoor ik het wel

wat ik graag wilde
ik wil 1 extra button, en ook hier via show dialog er een map aan hangen.
maar nu het moeilijke gedeelte......
De map die ik achter deze button hang wordt dagelijks voorzien van een nieuwe Excel file met een datum als naam
Dus 1 hoofdmap met hierin voor elk jaar een submap en in deze submap voor elke maand een submap en in deze maand mappen staan dan de Excel files van elke dag
Het toevoegen van sub mappen en Excel files gebeurd elke dag automatisch en dit werkt al
maar het automatisch opzoeken van de laatste toegevoegde Excel file met een button in het schakelbord dat zou ik graag willen toevoegen aan het schakelbord

ik hoop dat ik het duidelijk heb uitgelegd
 
Laatst bewerkt:
Dat kan, heb je ook een bepaalde notatie van opslaan? Bijvoorbeeld: 04-12-2011.xlsx
Dat zou makkelijker zijn, maar is niet noodzakelijk: Je zou ook alle bestanden op een rij gooien en kijken welke het laatste is toegevoegd.

Zal ik nog verder kijken naar de 'te lange' code of is dat goed zo? ;)
 
de notatie van opslaan is voorlopig nog als volgt: 04-december-2011.xls
in de nabije toekomst (waneer precies is nog niet bekent) gaan we over op office 2010 dan wordt het uiteraard: 04-december-2011.xlsx afhankelijk van de datum uiteraard. Als de .xls en .xlsx samen problematisch wordt dan maak het gewoon geschikt voor .xlsx en wacht ik wel tot office 2010 er op staat.
Om alles in 1 lange lijst te zetten zal niet gaan omdat meerdere mensen in de hoofdmap willen zoeken af en toe naar de laatste excel file of latere datum
het schakelbord is voor een handvol mensen die dagelijks de laatste excel file moeten inzien, dan praat ik over 2 pc's met in totaal 10 gebruikers.

En als je de "lange code" nog wil aanpassen naar een betere, graag. Maar uiteraard alleen als je daar tijd en zin in hebt.
Voor nu wil ik je ontzettend bedanken voor je hulp tot zover.:thumb::thumb::thumb::thumb:
 
Ik ga overmorgen reageren; 'k heb nu weinig tijd ;)

Overigens is dit handiger in de notatie: '6-12-2011' i.p.v. '6-december-2011'
Dat laatste is wel mogelijk, maar niet echt handig.

Voor welke ga je ? ;)
 
Laatst bewerkt:
Welke het makkelijkst is ik pas de notatie wel aan bij de excel files
 
Ik heb een functie voor je geschreven:

Code:
Private Function GetNewestFile()
        Dim pad As String = "Pad\Met\Jaarsubmappen\"
        ''//selecteer submap jaar
        Dim jaar As Integer = 0
        For Each item As IO.DirectoryInfo In New IO.DirectoryInfo(pad).GetDirectories
            If Integer.Parse(item.Name) > jaar Then jaar = Integer.Parse(item.Name)
        Next
        ''//selecteer submap maand
        Dim maand As Integer = 0
        For Each item As IO.DirectoryInfo In New IO.DirectoryInfo(pad & jaar.ToString & "\").GetDirectories
            If Integer.Parse(item.Name) > maand Then maand = Integer.Parse(item.Name)
        Next
        ''//selecteer nieuwste bestand
        Dim bestand As Integer = 0
        For Each item As IO.FileInfo In New IO.DirectoryInfo(pad & jaar.ToString & "\" & maand.ToString & "\").GetFiles()
            If Integer.Parse(item.Name.Split(".")(0)) > bestand Then bestand = Integer.Parse(item.Name.Split(".")(0))
        Next
        Return pad & jaar.ToString & "\" & maand.ToString & "\" & bestand.ToString & ".xls"
    End Function

Zorg wel dat je mappenstructuur er zo uitziet (met getallen als map- en bestandsnamen):

67287429.jpg
 
Laatst bewerkt:
Dim pad As String = "G:\zelf gemaakte exel bestanden\test\"
ik heb het "pad\met\jaarsubmappen\" aangepast met mn eigen pad naam
dat was de bedoeling ook?

Code:
    Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
        Call GetNewestFile()
    End Sub
en ik dacht de functie met call te kunnen aanroepen klopt dat?

ik heb de map structuur aangepast zoals jij aangaf
eerts dus G:\zelf gemaakte exel bestanden\test\
hier in de jaarmappen met de naam 2011 zoals vandaag is
hier in de maandmappen met de naam 1 en dan 2 enz
jou functie vind eerst de jaarmap en dan ook de maand map daarna krijg ik foutmelding
Code:
Kan een gedeelte van het pad G:\zelf gemaakte exel bestanden\test\2011\ 12 niet vinden.
ik heb de excelfile opgeslagen met format "d" zodat ook de excel files zelf alleen een oplopend getal hebben
wat doe ik verkeerd??

bestand = 0
 
Laatst bewerkt:
pasan zei:
ik heb het "pad\met\jaarsubmappen\" aangepast met mn eigen pad naam
dat was de bedoeling ook?

Zeker! :)

pasan zei:
en ik dacht de functie met call te kunnen aanroepen klopt dat?

Nope. Deze functie retourneert ook nog wat (het nieuwste bestand).
Dus kijk maar eens wat je er mee kan. Bijvoorbeeld het laten zien van het nieuwste bestand:

[CPP]MsgBox(GetNewestFile())[/CPP]


pasan zei:
jou functie vind eerst de jaarmap en dan ook de maand map daarna krijg ik foutmelding

Dat komt omdat ik spaties heb toegevoegd (anders kleurde mijn hele code rood in die CPP-tags). Ik dacht niet dat dat foutmeldingen zou veroorzaken, wel dus.
Ik heb 't nu gewone Code-Tags gezet :)

pasan zei:
ik heb de excelfile opgeslagen met format "d" zodat ook de excel files zelf alleen een oplopend getal hebben

Prima!
 
Laatst bewerkt:
Yesssssssssssssssssssss (jubel stemming):d
oke zover zo goed en ga dr verder mee aan het stoeien

geweldig :thumb::thumb::thumb::thumb:
 
OK! :thumb:

Ik hoor 't wel als er iets niet lukt :D
 
er is even een ander klusje tussen gekomen die moet ik eerst af hebben
volgende week vervolg
 
het werkt

Zo die klus tussendoor is ook klaar en deze hier heb ik ook kunnen laten doen wat ik graag wil het heeft me weer de nodige lijnen code gekost :d ben benieuwd wat je er van vindt

dit stukje bij openen van de form
Code:
Reader14.Close()
        Dim Reader15 As New StreamReader("TextFile15.txt", False)
        Me.TextBox1.Text = Reader15.ReadToEnd
        Reader15.Close()
        Dim Reader16 As New StreamReader("TextFile16.txt", False)
        Me.TextBox2.Text = Reader16.ReadToEnd
        Reader16.Close()
        Dim Reader17 As New StreamReader("TextFile17.txt", False)
        Me.TextBox3.Text = Reader17.ReadToEnd
        Reader17.Close()
        Dim Reader18 As New StreamReader("TextFile18.txt", False)
        Me.TextBox4.Text = Reader18.ReadToEnd
        Reader18.Close()

met FolderBrowserDialog1 de pad naam in een textbox zetten

Code:
If RadioButton15.Checked = True Then
            FolderBrowserDialog1.ShowDialog()
            Me.TextBox1.Text = FolderBrowserDialog1.SelectedPath() & "\"
            Dim Writer As New StreamWriter("TextFile15.txt", False)
            Writer.Write(TextBox1.Text)
            Writer.Close()
            RadioButton15.Checked = False
        End If
        If RadioButton16.Checked = True Then
            FolderBrowserDialog1.ShowDialog()
            Me.TextBox2.Text = FolderBrowserDialog1.SelectedPath() & "\"
            Dim Writer As New StreamWriter("TextFile16.txt", False)
            Writer.Write(TextBox2.Text)
            Writer.Close()
            RadioButton16.Checked = False
        End If
        If RadioButton17.Checked = True Then
            FolderBrowserDialog1.ShowDialog()
            Me.TextBox3.Text = FolderBrowserDialog1.SelectedPath() & "\"
            Dim Writer As New StreamWriter("TextFile17.txt", False)
            Writer.Write(TextBox3.Text)
            Writer.Close()
            RadioButton17.Checked = False
        End If
        If RadioButton18.Checked = True Then
            FolderBrowserDialog1.ShowDialog()
            Me.TextBox4.Text = FolderBrowserDialog1.SelectedPath() & "\"
            Dim Writer As New StreamWriter("TextFile18.txt", False)
            Writer.Write(TextBox4.Text)
            Writer.Close()
            RadioButton18.Checked = False
        End If

met onderstaande maak je de textboxen leeg
Code:
 If RadioButton15.Checked = True Then
            Me.TextBox1.Text = ""
            Dim Writer As New StreamWriter("TextFile15.txt", False)
            Writer.Write(TextBox1.Text)
            Writer.Close()
            RadioButton15.Checked = False
        End If
        If RadioButton16.Checked = True Then
            Me.TextBox2.Text = ""
            Dim Writer As New StreamWriter("TextFile16.txt", False)
            Writer.Write(TextBox2.Text)
            Writer.Close()
            RadioButton16.Checked = False
        End If
        If RadioButton17.Checked = True Then
            Me.TextBox3.Text = ""
            Dim Writer As New StreamWriter("TextFile17.txt", False)
            Writer.Write(TextBox3.Text)
            Writer.Close()
            RadioButton17.Checked = False
        End If
        If RadioButton18.Checked = True Then
            Me.TextBox4.Text = ""
            Dim Writer As New StreamWriter("TextFile18.txt", False)
            Writer.Write(TextBox4.Text)
            Writer.Close()
            RadioButton18.Checked = False
        End If

en hieronder ziet de fuction welke pad naam in de desbetreffende textbox staat
ik heb hier dus 4 functions van gemaakt
newestfile1
newestfile2
newestfile3
newestfile4
Code:
 Private Function GetNewestFile1()
        Dim pad As String = Me.TextBox1.Text
 
Laatst bewerkt:
Sorry, maar het kan allemaal stukken korter ;)

Waarvoor zoveel streamreaders? :shocked:
En waarvoor dient die functie GetNewestFile?

(Werkt het by the way? Daar gaat het immers om ;) )
 
streamreaders om naar textfile te schrijven en te halen
ik heb een textfile voor elke textbox
ik kon niet de zelfde streamreader in het zelfde code blok gebruiken zodoende voor elke textfile een eigen streamreader
functie getnewestfile is jou function om de laatste excelfile te openen

en uiteraard zal het allemaal korter kunnen maar helaas mis ik de kennis en ervaring hierin.

Maar het werkt wel en voor mij is dat al een hele prestatie:d

JoZ1 wederom ontzettend bedankt voor je hulp :thumb::thumb::thumb::thumb:
 
Goed dat het werkt! :thumb:

Even een vraag, als je wil dat ik het inkort ;): Waarom lees je van die TextFiles? Wat sla je daar in op? :confused:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan