From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

VBS Umwandlung tdms in tdm

Hallo,
 
ich sitze derzeit an folgendem Problem:
Ich möchte alle tdms-Dateien eines beliebigen Ordners öffnen und jede einzelne Datei als tdm-Datei wieder abspeichern. ... also lediglich eine Umwandlung von tdms- in tdm-Dateien vornehmen, und dies automatisiert in einem VB-Skript.
 
Wäre klasse, wenn mir jemand helfen könnte, dies zu automatisieren. Smiley Happy
 
Vielen Dank schon mal im Voraus für eure Ideen!
 
 
0 Kudos
Message 1 of 2
(3,228 Views)

Hallo coober!

Die Aufgabe kann man in zwei Teile aufspalten: 1. Schleife über alle TDMS Dateien eines Verzeichnis, 2. Konvertieren TDMS->TDM. Für die 1. Aufgabe bevorzuge ich das Windows FileSystemObject, die 2. kann mit den Befehlen DataFileLoad und DataFileSave erschlagen werden. Hier eine Function die diese Aufgabe erledigt (die erzeugte TDM Datei hat dann den Namen '<Alter Name>_TDMS.tdm':

Option Explicit
 
Public Function Tdms2Tdm(ByRef sgPath)
  Dim oFSO
  Dim oFolder
  Dim oFile
  Dim nCount : nCount = 0
 
  ' Get the folder via the file system object
  Set oFSO    = CreateObject("Scripting.FileSystemObject")
  Set oFolder = oFSO.GetFolder(sgPath)
 
  ' Clear data
  Call DataDelAll()
 
  ' Loop through all files 
  For Each oFile In oFolder.Files
    ' Filter TDMS files
    If LCase(FileNameSplit(oFile.Name,"E")) = "tdms" Then
      ' Load TDMS file
      Call DataFileLoad(oFile.Path)
      ' Save TDM file, Name = <OldName>_TDMS.tdm
      Call DataFileSave(sgPath & FileNameSplit(oFile.Name,"N") & "_TDMS.tdm")
      ' Clear data
      Call DataDelAll()
 
      nCount = nCount + 1
    End If
  Next
 
  ' Result
  Tdms2Tdm = nCount
End Function

Noch der Aufruf zum testen:

MsgBox Tdms2Tdm("C:\Programme\National Instruments\DIAdem 10.1\Demo\Dat\") & " Dateien umgewandelt!"

Hinweis: Vor dem Aufruf der Function den Anwender fragen ob die vorhandenen Daten gelöscht werden dürfen.

Matthias

Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater?  
0 Kudos
Message 2 of 2
(3,219 Views)