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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: TIA WINCC Skript Write to File....in eine bestimmte Zelle schreiben ?

  1. #11
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Dafür müßte dir das Excel-Objekt selbst auch eine Methode zur Verfügung stellen.
    Versuch dazu mal die PrintOutEx-Methode ...

    Gruß
    Larry

  2. #12
    Registriert seit
    14.04.2014
    Beiträge
    45
    Danke
    20
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hallo Stephan,

    Könntest Du für die Allgemeinheit einen Überblick über deinen Lösungsansatz geben?
    Mich würde das Thema auch interessieren.

    Gruß
    Mecha

  3. #13
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    @Mecha:
    Der Lösungsansatz wäre hier :
    http://www.sps-forum.de/faq/15348-pr...-new-post.html
    Das hatte aber Harald (Beitrag #2 in diesem Thread auch schon mal verlinkt) ...

    Gruß
    Larry

  4. #14
    Registriert seit
    14.04.2014
    Beiträge
    45
    Danke
    20
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hallo Larry,

    das verfahren ist mir bekannt, aber Stephan schreibt ja, dass er eine Lösung hat um gezielt Zellen zu beschreiben.

    Das würde mich interessieren.

    Gruß
    Mecha

  5. #15
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.191
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Genau das "gezielt" Zellen beschreiben ist in dem mehrfach verlinkten FAQ beschrieben:
    Zitat Zitat von volker Beitrag anzeigen
    Exceldatei lesen / schreiben (Danke auch an Larry Laffer)
    [...]
    Code:
    ' Zelle beschreiben
    wsExcel.Cells (Zeile , 1) = date
    wsExcel.Cells (Zeile , 2) = time
    wsExcel.Range("D1") = Zeile
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #16
    Registriert seit
    14.04.2014
    Beiträge
    45
    Danke
    20
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Pardon.

    in der Anleitung steht die Lösung ja drin und ich habe nicht aufmerksam genug gelesen.

  7. #17
    Stephan_GPT ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.06.2008
    Ort
    Uetersen
    Beiträge
    10
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Moin moin....
    hier erst einmal die Lösung fürs drucken der xls Datei...
    habe mir eine Excel Datei mit mit Makro erstellt ...
    in der steht folgendes:

    ' in die gewünschte Tabelle in VBA einfügen
    ' column 7 entspricht "G"
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row = 15 And Target.Column = 7 Then
    If Target.Value = "1" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, _
    Collate:=True
    End If
    End If

    End Sub

    .... wenn ich mir nun gezielt in die Zelle G15 eine 1 schreibe druckt er mir
    die Datei....
    ... bei 0 wird nur gespeichert !!!

    Gruß Stephan

  8. #18
    Stephan_GPT ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.06.2008
    Ort
    Uetersen
    Beiträge
    10
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin moin Mecha....

    hier mein Lösungsansatz zum schreiben in eine Zelle mit/ohne drucken der Datei

    Code:
    On Error Resume Next
     
    Dim appExcel , fs , wsExcel , wbExcel
    Dim Verzeichnis , Datei_Org , Datei_Neu
    
    SCRIPT_AKTIV = True
    ' Bool-Variable Button auf Panel grün = Skript_aktiv (Anzeige) 
    
    Verzeichnis = "f:\"
    Datei_Neu = "Daten,"& Material &","& Date &".xls"
    Datei_Org = "Produktions-Daten_mit Makros.xlsm"
    
    If Not a_Excel_geoeffnet Then ' Excel ist noch nicht geöffnet
       Set appExcel = CreateObject ("EXCEL.Application")
       a_Excel_geoeffnet = True 
    
       Set fs = CreateObject ("Scripting.FileSystemObject")
       If Not fs.FileExists (Verzeichnis + Datei_Neu) Then ' Ziel-Datei noch nicht vorhanden
          Set wbExcel  = appExcel.Workbooks.Open (Verzeichnis + Datei_Org)
          Set wsExcel  = wbExcel.Worksheets("Daten")
          wbExcel.Author = "STEPHAN_GPT"
          wsExcel.Range("B5") = Now   
          wsExcel.Range("H5") = 10 ' erste Schreib-Zeile 
          wbExcel.SaveAs Verzeichnis + Datei_Neu ,True
       Else ' Ziel-Datei ist schon vorhanden
          Set wbExcel  = appExcel.Workbooks.Open (Verzeichnis + Datei_Neu)
          Set wsExcel  = wbExcel.Worksheets("Daten")
       End If 
       a_Excel_Dateiname_akt = Datei_Neu
    End If
    
    Set wbExcel = appExcel.Workbooks.Open (Verzeichnis + Datei_Neu )
    Set wsExcel = wbExcel.Worksheets("Tabelle1")
     
    ' Zellen beschreiben --> mit Variablen
    wsExcel.Range("F1") = Material
    wsExcel.Range("F2") = Pressure
    wsExcel.Range("F3") = Temperature
    wsExcel.Range("F4") = Date
    wsExcel.Range("D5") = Time
    wsExcel.Range("C3") = Material
    
    ' In diese Zelle schaut Excel rein um ggf. zu drucken-->
    wsExcel.Range("G15") = Drucken ' REAL 0=Nein/1=JA
    
    
    ' Tabelle abspeichern
    wbExcel.Close True 'false
    appExcel.Quit 
    
    
    
    If a_Excel_geoeffnet Then 
       Set appExcel = GetObject ( , "EXCEL.Application")
          Set wbExcel  = appExcel.ActiveWorkbook
          Set wsExcel  = wbExcel.Worksheets("Daten")
    
          wbExcel.Close True  'false
          appExcel.Quit ()
       a_Excel_geoeffnet = False
    End If
    
    SCRIPT_AKTIV = False
     
    '------------------------------------------------------------------------------
    ' verwendeten Speicher wieder freigeben
    Set wsExcel = Nothing
    Set wbExcel = Nothing
    Set fs = Nothing
    Set appExcel = Nothing
    Set Verzeichnis = Nothing
    Set Datei_Neu = Nothing
    
    
    End Sub
    kann dir auch nicht 100%ig erklären was da steht....
    .... aber es funzt !!!
    Die Kollegen werden bestimmt noch ein paar Zeilen Datenmüll entdecken......

    Nochmals Vielen Dank ...
    Gruß Stephan

Ähnliche Themen

  1. WinCC (Tia) VB Skript zum String trennen
    Von Lucius2 im Forum HMI
    Antworten: 4
    Letzter Beitrag: 24.07.2015, 11:41
  2. HEX Editor mit Gramatik (zur Fileanalyse) + TIA-File Format Grammar File
    Von Jochen Kühner im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 14.04.2015, 09:26
  3. Antworten: 2
    Letzter Beitrag: 12.03.2015, 22:14
  4. Antworten: 18
    Letzter Beitrag: 14.04.2014, 15:31
  5. Antworten: 1
    Letzter Beitrag: 26.03.2014, 11:57

Lesezeichen

Berechtigungen

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