title: Storing Data from WinCC Flex to Excel file using VBScript
body: <p>Am trying to log data of some tags of WinCC Flex into Excel file using VB Script.
  I've searched on Siemens forums and have got an script according to my needs.
  But there is an error while executing the script in WinCC Flex.</p>
  
  <p>The script is as:</p>
  
  <pre><code>Dim wsh, XLSrunning, TargetBookrunning, objExcelApp, objWorkbook, TheTargetBook,    TheTargetBookName
  Dim TheCount
  Dim objFSO
  Const OverwriteExisting = 1
  
  
  Set wsh = CreateObject("WScript.Shell")
      TheTargetBookName = "report.xls"
      TheTargetBook = "D:\Out\" &amp; TheTargetBookName
  
  '---------------[Modification#1_Begin]-------------------------------------------
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  If Not objFSO.FileExists(TheTargetBook) Then
         objFSO.CopyFile "D:\Out\Template.xls", TheTargetBook, OverwriteExisting
         'HMIRuntime.Trace "The file," &amp; TheTargetBook &amp; ", does not exist." &amp; vbCrLf &amp; "I've just created one for you!"
  End If
  Set objFSO = Nothing    
  
  '---------------[Modification#1_End]--------------------------------------------
  
  TheCount = GetObject("winmgmts:root\CIMV2").ExecQuery("SELECT * FROM Win32_Process WHERE Name='EXCEL.EXE'").Count   
  'While TheCount is bigger than 0, it means the Excel Application is running..., but doesn't mean the workbook is open for sure!
  
  If TheCount &gt; 0 Then
     Set objExcelApp = GetObject(,"Excel.Application")
                   ' Using GetObject(,"Excel.Application") to point to the running Excel Application.
  
         TargetBookrunning = 0  
         For Each XLSrunning In objExcelApp.Workbooks
             If XLSrunning.name = TheTargetBookName Then
                TargetBookrunning = 1
             End If
         Next
         If TargetBookrunning = 1 Then
            Set objWorkbook = GetObject(TheTargetBook)
         Else
            Set objWorkbook = objExcelApp.Workbooks.Open(TheTargetBook)
         End If
  Else
  
    Set objExcelApp = CreateObject("Excel.Application")
    Set objWorkbook = objExcelApp.Workbooks.Open(TheTargetBook)
  
  End If
  
        objExcelApp.Visible = True
        objExcelApp.ScreenUpdating = True
        objExcelApp.DisplayAlerts = True
  
        Dim TheTargetRow       ' &lt;------[Modification#2]-------
        With objWorkbook.ActiveSheet
  
          TheTargetRow = .Cells(65535, 2).End(-4162).Row
                  .cells(TheTargetRow + 1, 2) = SmartTags("Tag_1")
                  .cells(TheTargetRow + 1, 3) = SmartTags("Tag_2")
                  .cells(TheTargetRow + 1, 4) = SmartTags("Tag_3")         
  
        End With 
        objWorkbook.Save
       'objWorkbook.Close
  
    Set objWorkbook = Nothing
       'objExcelApp.Quit
    Set objExcelApp = Nothing
    'MsgBox "Done"
  
  Set wsh = Nothing   
  </code></pre>
  
  <p>When, I try to execute this script, the compiler shows the error in following line:</p>
  
  <pre><code> TheTargetRow = .Cells(65535, 2).End(-4162).Row
  </code></pre>
  
  <p>Am unable to determine the error. Please do the needful.</p>