Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 6 von 6

Thema: Dialogfenster zur Dateiauswahl

  1. #1
    Registriert seit
    03.05.2016
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Unglücklich


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich bin noch Anfänger in der Branche und versuche mittlerweile schon verzweifelt für eine RT-PC Win 7 ein VBS Programm zu schreiben welches ein Dialogfenster zur Dateiauswahl öffnen und in eine Variable schreiben soll. Ich habe schon diverse Skripte aus dem Internet ausprobiert, leider ohne Erfolg.
    Software : Windows 7 Pro 64 Bit, WinCC Flexible Advanced 2008 SP3. Hat jemand hierzu eine Lösung?

    Das ist mein letzter Stand.
    Vielen Dank im Voraus
    Mfg

    Dim objShell, fs, BrowseForFile, fso, TABfile, zeile, i, laenge, parameter, wert

    Set objShell = CreateObject("Shell.Application")
    Set fs = objShell.BrowseForFolder(0, "Choose for file:", &H4000)
    BrowseForFile = fs.self.Path
    Set fso = CreateObject( "Scripting.FileSystemObject" )
    Set TABfile = fso.OpenTextFile(fs.Value,False )
    Do While TABfile.AtEndOfStream <> True
    zeile = TABfile.ReadLine
    i=InStr(zeile,"=") 'trennzeichen suchen
    laenge = Len(zeile)
    parameter = Left(zeile,i-1)
    wert = Right(zeile,laenge -i )
    'zuweisungen Radial

    If parameter = "Fz1" Then ZZ_Fz_1 = wert
    If parameter = "Fz2" Then ZZ_Fz_2 = wert
    Loop
    Zitieren Zitieren Dialogfenster zur Dateiauswahl  

  2. #2
    saumann ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    03.05.2016
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    habe mein Programm so hinbekommen, dass sich ein Dialogfenster öffnet. Ich verstehe aber nicht wie ich die ausgewählte (*txt) in die Variablen schreiben kann.
    Kann mir da bitte jemand helfen?

    Hier mein VBS

    Code:
    Dim oDlg, sIniDir, sFilter, sTitle, GetFileDlgEx, rep
    Dim objShell, fs, BrowseForFile, fso, TABfile, zeile, i, laenge, parameter, wert
     Set oDlg = CreateObject("WScript.Shell").Exec("mshta.exe ""about:<object id=d classid=clsid:3050f4e1-98b5-11cf-bb82-00aa00bdce0b></object><script>moveTo(0,-9999);eval(new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(0).Read("&Len(sIniDir)+Len(sFilter)+Len(sTitle)+41&"));function window.onload(){var p=/[^\0]*/;new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(p.exec(d.object.openfiledlg(iniDir,null,filter,title)));close();}</script><hta:application showintaskbar=no />""")  
     oDlg.StdIn.Write "var iniDir='" & sIniDir & "';var filter='" & sFilter & "';var title='" & sTitle & "';"  
     GetFileDlgEx = oDlg.StdOut.ReadAll  
     
    sIniDir = "C:\Windows\*"  
    sFilter = "All files (*.*)|*.*|Microsoft Word (*.doc;*.docx)|*.doc;*.docx|Adobe pdf (*.pdf)|*.pdf|Image files (*.gif;*.png;*jpg;*.bmp)|*.gif;*.png;*jpg;*.bmp|Html files (*.htm;*.html;*.mht)|*.htm;*.html;*.mht|"  
    sTitle = "GetFileDlg by omen999 2014 - http://omen999.developpez.com"  
    
    Set fso = CreateObject( "Scripting.FileSystemObject" )
    Set TABfile = fso.OpenTextFile("GetFileDlgEx")  
    Do While TABfile.AtEndOfStream <> True 
    zeile = TABfile.ReadLine
    i=InStr(zeile,"=") 
    laenge = Len(zeile)
    parameter = Left(zeile,i-1)
    wert = Right(zeile,laenge  -i )
    'zuweisungen Radial
     
    If parameter = "Fz1" Then ZZ_Fz_1 = wert 
    If parameter = "Fz2" Then ZZ_Fz_2 = wert 
     Loop

  3. #3
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.802
    Danke
    77
    Erhielt 784 Danke für 529 Beiträge

    Standard

    dieser teil muss auf jeden fall schon mal
    Code:
    sIniDir = "C:\Windows\*"  
    sFilter = "All files (*.*)|*.*|Microsoft Word (*.doc;*.docx)|*.doc;*.docx|Adobe pdf (*.pdf)|*.pdf|Image files (*.gif;*.png;*jpg;*.bmp)|*.gif;*.png;*jpg;*.bmp|Html files (*.htm;*.html;*.mht)|*.htm;*.html;*.mht|"  
    sTitle = "GetFileDlg by omen999 2014 - http://omen999.developpez.com"
    vor diesem stehen.
    Code:
    oDlg.StdIn.Write "var iniDir='" & sIniDir & "';var filter='" & sFilter & "';var title='" & sTitle & "';"
    um *.txt zu filtern msst du den sfilter erweitern. z.b. so
    [CODE][sFilter = "Textdateien (*.txt)|*.txt|All files (*.*)|*.*|............/CODE]
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  4. #4
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.802
    Danke
    77
    Erhielt 784 Danke für 529 Beiträge

    Standard

    Nachtrag

    um einen startpfad vorzugebn muss das so aussehen

    sIniDir = "C:\\Windows\\*"
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  5. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    10.648
    Danke
    874
    Erhielt 3.125 Danke für 2.534 Beiträge

    Standard

    Kann es sein, daß Du durch Deinen Dateiauswahl-Dialog die ganze Skript-Engine blockierst (d.h. während der Dialog offen ist, werden keine weiteren Skripte ausgeführt)?

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #6
    saumann ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    03.05.2016
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Danke für die Antworten,

    habe das Problem jetzt so gelöst
    Code:
     GetFileDlgEx = oDlg.StdOut.ReadAll  
    ' sample test 
    sIniDir = "C:\Windows\*"  
    sFilter = "All files (*.*)|*.*|Microsoft Word (*.doc;*.docx)|*.doc;*.docx|Adobe pdf (*.pdf)|*.pdf|Image files (*.gif;*.png;*jpg;*.bmp)|*.gif;*.png;*jpg;*.bmp|Html files (*.htm;*.html;*.mht)|*.htm;*.html;*.mht|"  
    sTitle = "GetFileDlg"  
    Set fso = CreateObject( "Scripting.FileSystemObject" )
    Set TABfile = fso.OpenTextFile(GetFileDlgEx)
    @ Harald
    Ja da hast Du wohl Recht! Wie kann ich das verhindern?

    Und noch eine andere Frage
    Ich würde gerne aus einem Textfile mehrere Werte zyklisch nacheinander an eine Variable übergeben. Hier ein kleiner TXT Auszug.
    Unbenannt.PNG

    Ich hätte mir das so vorgestellt
    Wert 1000 an Variable "X" übergeben. Nach 100ms dann Wert 2100 usw. bis das Ende erreicht ist.
    Ich dachte da an eine FOR Schleife aber irgendwie finde ich da keinen Ansatz dafür.
    Ist so etwas überhaupt realisierbar?

Ähnliche Themen

  1. Dateiauswahl in WINCC 7.0
    Von sailor im Forum HMI
    Antworten: 3
    Letzter Beitrag: 10.07.2013, 18:36
  2. Antworten: 12
    Letzter Beitrag: 29.04.2013, 21:41
  3. Wincc Flexible Dateiauswahl-Dialog
    Von repök im Forum HMI
    Antworten: 3
    Letzter Beitrag: 29.11.2006, 22:55
  4. Keine verbindung zur FM 354 aber zur CPU schon
    Von blackball83 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 19.08.2006, 08:12

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •