DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Diadem2019 statistische Kennwerte (Mittelwert,etc.) in Excel exportieren

Hallo liebe Community,

 

ich bin aktuell dabei Kräfte (Vorschubkraft und Bohrmoment) aus Einlippentiefbohrversuchen auszuwerten. Hierbei müssen die Rohdaten zunächst einmal geschnitten, geglättet, und der Ofset korrigiert werden. Hierfür habe ich ein Skript geschrieben, welches so auch gut funktioniert. 

 

Nun möchte ich die Daten automatisch in Excel exportieren. Hierfür fehlt mir jedoch der passende Befehl....

 

Anbei zunächst das Skript zu besseren Verständnis:

 

 

View.Sheets("Auswertung Fz").Areas("Area : 1").DisplayObj.XScalingMode = "RangeFull"
Data.Root.ChannelGroups(2).Channels("Mz").Name = "Mb"
View.CoordinateWnd.Visible = not View.CoordinateWnd.visible
 
call InteractionOn("Fz schneiden: Bereich auswählen und kopieren")
Data.Root.ChannelGroups(2).Channels("CopyYFz").Name = "Fz_geschnitten_10Hz Tiefpassfilter"
Set ChnResult = ChnFiltCalc("", "[2]/Fz_geschnitten_10Hz Tiefpassfilter", "/Fz_geschnitten_10Hz Tiefpassfilter", "IIR", "Bessel", "Low pass", 2, 10, 0, 0, 1.2, 25, "Hamming", False, False)
Call ChnClpCopy("[2]/Fz_geschnitten_10Hz Tiefpassfilter", True)
Call ChnClpPaste(6, True)
Call Data.Move(Data.Root.ChannelGroups(2).Channels("Fz_geschnitten_10Hz Tiefpassfilter1"),Data.Root.ChannelGroups(2).Channels,4)
Data.Root.ChannelGroups(2).Channels("Fz_geschnitten_10Hz Tiefpassfilter1").Name = "Fz_Interpolieren"
 
call InteractionOn("Fz Ofsetkorektur: Bereich auswählen, kopieren, löschen und interpolieren")
View.Sheets("Auswertung Fz").Areas("Area : 3").DisplayObj.XScalingMode = "RangeZoom"
View.Sheets("Auswertung Fz").Areas("Area : 3").DisplayObj.XScalingMode = "RangeScroll"
View.Sheets("Auswertung Fz").Areas("Area : 3").DisplayObj.XScalingMode = "RangeZoom"
Data.Root.ChannelGroups(2).Channels("CopyYFz_Interpolieren").Name = "Fz_geschnitten für ofset"
Call Calculate("ch(""[2]/Fz_Ofsetkorektur"")=ch(""[2]/Fz_geschnitten für ofset"")-ch(""[2]/Fz_Interpolieren"")")
Call ChnClpCopy("[2]/Fz_geschnitten für ofset", True)
Call ChnClpPaste(9, True)
Call Data.Move(Data.Root.ChannelGroups(2).Channels("Fz_geschnitten für ofset1"),Data.Root.ChannelGroups(2).Channels,6)
Call WfChnToChn("[2]/Fz_geschnitten für ofset1", False, "WfXRelative")
Data.Root.ChannelGroups(2).Channels("CopyXCopyXTime").Name = "Fz_XTime"
Call ChnToWfChn("[2]/Fz_XTime", "[2]/Fz_Ofsetkorektur", False, "WfXRelative")

call InteractionOn("Mb schneiden: Bereich auswählen und kopieren")
View.CoordinateWnd.Visible = not View.CoordinateWnd.visible
Call Data.Move(Data.Root.ChannelGroups(2).Channels("Mb"),Data.Root.ChannelGroups(2).Channels,8,True)
Data.Root.ChannelGroups(2).Channels("CopyYMb").Name = "Mb_geschnitten_10Hz Tiefpassfilter"
Set ChnResult = ChnFiltCalc("", "[2]/Mb_geschnitten_10Hz Tiefpassfilter", "/Mb_geschnitten_10Hz Tiefpassfilter", "IIR", "Bessel", "Low pass", 2, 10, 0, 0, 1.2, 25, "Hamming", False, False)
Call ChnClpCopy("[2]/Mb_geschnitten_10Hz Tiefpassfilter", True)
Call ChnClpPaste(12, True)
Call Data.Move(Data.Root.ChannelGroups(2).Channels("Mb_geschnitten_10Hz Tiefpassfilter1"),Data.Root.ChannelGroups(2).Channels,10)
Data.Root.ChannelGroups(2).Channels("Mb_geschnitten_10Hz Tiefpassfilter1").Name = "Mb_Interpoliert"
 
call InteractionOn("Mb Ofsetkorektur: Bereich auswählen, kopieren, löschen und interpolieren")
Data.Root.ChannelGroups(2).Channels("CopyYMb_Interpoliert").Name = "Mb_geschnitten für ofset"
Call ChnClpCopy("[2]/Mb_geschnitten für ofset", True)
Call ChnClpPaste(14, True)
Call Data.Move(Data.Root.ChannelGroups(2).Channels("Mb_geschnitten für ofset1"),Data.Root.ChannelGroups(2).Channels,12)
Call Calculate("ch(""[2]/Mb_Ofsetkorektur"")=ch(""[2]/Mb_geschnitten für ofset"")-ch(""[2]/Mb_Interpoliert"")")
Call Calculate("ch(""[2]/Mb_Ofsetkorektur"")=ch(""[2]/Mb_geschnitten für ofset"")-ch(""[2]/Mb_Interpoliert"")")
Call WfChnToChn("[2]/Mb_geschnitten für ofset1", False, "WfXRelative")
Data.Root.ChannelGroups(2).Channels("CopyXCopyXTime").Name = "Mb_XTime"
Call ChnToWfChn("[2]/Mb_XTime", "[2]/Mb_Ofsetkorektur", False, "WfXRelative")

call InteractionOn("Mb unf Fz Mittelwerte bestimmen: Bereiche auswählen und kopieren")
View.CoordinateWnd.Visible = not View.CoordinateWnd.visible
View.CoordinateWnd.Visible = not View.CoordinateWnd.visible
Data.Root.ChannelGroups(2).Channels("CopyYFz_Ofsetkorektur").Name = "Fz_Ofsetkor._TF10Hz_Mittelwert_20s"
Data.Root.ChannelGroups(2).Channels("CopyYMb_Ofsetkorektur").Name = "Mb_Ofsetkor._TF10Hz_Mittelwert_20s"
Call Data.Move(Data.Root.ChannelGroups(2).Channels("Fz_Ofsetkor._TF10Hz_Mittelwert_20s"),Data.Root.ChannelGroups(2).Channels,8,True)
View.Sheets("Final_Mittelwert").Areas("Area : 1").DisplayObjType = "CurveChart2D"
View.Sheets("Final_Mittelwert").Areas("Area : 2").DisplayObjType = "CurveChart2D"
View.Sheets("Final_Mittelwert").Cursor.Type = "Band"
View.Sheets("Final_Mittelwert").Areas("Area : 1").DisplayObj.XScalingMode = "RangeScroll"
View.Sheets("Final_Mittelwert").Areas("Area : 2").DisplayObj.XScalingMode = "RangeScroll"
View.Sheets("Final_Mittelwert").Areas("Area : 3").DisplayObjType = "CurveChart2D"
View.Sheets("Final_Mittelwert").Areas("Area : 4").DisplayObjType = "CurveChart2D"
View.Sheets("Final_Mittelwert").Areas("Area : 3").DisplayObj.XScalingMode = "RangeScroll"
View.Sheets("Final_Mittelwert").Areas("Area : 4").DisplayObj.XScalingMode = "RangeScroll"
 
Call ChnStatisticsChannelCalc("[2]/Fz_Ofsetkor._TF10Hz_Mittelwert_20s", 28704, 0, 0, False, False, False, "NameName")
Call ChnStatisticsChannelCalc("[2]/Mb_Ofsetkor._TF10Hz_Mittelwert_20s", 28704, 0, 0, False, False, False, "NameName")
 
----------------------------------------------------------------------------------------------------------------------------------------------------
Bis hier läuft alles, nun möchte ich den Mittelwert und die Standardabweichung von:
Fz_Ofsetkor._TF10Hz_Mittelwert_20s
Mb_Ofsetkor._TF10Hz_Mittelwert_20s
in Excel exportieren und in definierte Zeilen und Spalten schreiben, welches mit dem nachfolgenden Skirptteil nicht funktioniert...
 
Kann mir hier einer helfen, wie ich das Skript korrekt weiter schreibe?
 
Vielen Dank im Voraus
 
Pascal
 
------------------------------------------------------------------------------------------------------------------------------------------
Dim Excel
Set Excel = CreateObject("Excel.Application")
Excel.Visible = True
Call Excel.Workbooks.open("D:\01_Masterarbeit\04_Messergebnisse\Fz und Mb Auswertung aus Diadem_Versuchsreihe.xlsx") 'Pfad zur Datei
Excel.ActiveSheet.Cells(1,2).Value = CHD(1,"[2]/Fz_Ofsetkor._TF10Hz_Mittelwert_20s")
Excel.ActiveSheet.Cells(1,1).Value = CHD(1,"[2]/Mb_Ofsetkor._TF10Hz_Mittelwert_20s")
 
Set Excel = nothing
 
 
 
0 Kudos
Message 1 of 2
(2,545 Views)

I don't know German but looks like you are missing

Excel.Save

Before

Set Excel = nothing

 Otherwise you just lose all the work

0 Kudos
Message 2 of 2
(2,513 Views)