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