Option Explicit Dim objE3 As Object Dim objPrj As Object Dim objFile As Object Dim objData As Object Dim i As Integer Dim Click As Boolean Dim Found As Boolean Dim Pfad As String Dim ForReading As Integer Dim TristateUseDefault As Integer Dim Zeile As String Dim Wert As String Dim Ende As Integer Dim Mass(8) As String Dim Grid(8) As String Dim GShow(8) As String Dim Ruler(8) As String Private Sub Form_Load() Set objE3 = CreateObject("CT.Application") Set objPrj = objE3.CreateJobObject Pfad = objE3.GetInstallationPath Call Init End Sub Private Sub Form_Unload(Cancel As Integer) Set objE3 = Nothing 'E3 freigeben SendKeys "%{F4}" 'Programm beenden End Sub Private Sub Init() Click = False Found = False 'Auswahl mit Werten füllen Cb_Masseinheit.AddItem ("MM") Cb_Masseinheit.AddItem ("ZMM") Cb_Masseinheit.AddItem ("INCH") Cb_Masseinheit.AddItem ("MIL") Call E3EinstellungHolen 'eingestellten Wert aus E3 holen Call WerteAuslesen 'Vorzugswerte aus Tabelle lesen End Sub Private Sub E3EinstellungHolen() Mass(0) = objPrj.GetMeasure Grid(0) = objPrj.GetGridSize GShow(0) = objPrj.GetPointGridSize Ruler(0) = objPrj.GetRulerGridSize Cb_Masseinheit = Mass(0) End Sub Private Sub WerteAuslesen() ForReading = 1 TristateUseDefault = -2 Set objFile = CreateObject("Scripting.FileSystemObject") 'Objekt für Textfile Set objData = objFile.OpenTextFile(Pfad + "RasterAuswahl.csv", _ ForReading, False, TristateUseDefault) 'Objekt für Textstream Zeile = objData.Readline '1. Zeile lesen For i = 1 To 7 Zeile = objData.Readline 'nxt. Zeile lesen Ende = InStr(Zeile, ";") Wert = Mid(Zeile, 1, Ende - 1) Mass(i) = Wert Zeile = Mid(Zeile, Ende + 1) Ende = InStr(Zeile, ";") Wert = Mid(Zeile, 1, Ende - 1) Grid(i) = Wert Zeile = Mid(Zeile, Ende + 1) Ende = InStr(Zeile, ";") Wert = Mid(Zeile, 1, Ende - 1) GShow(i) = Wert Zeile = Mid(Zeile, Ende + 1) Ruler(i) = Zeile If Mass(i) = Mass(0) And Grid(i) = Grid(0) And GShow(i) = GShow(0) And Ruler(i) = Ruler(0) Then optRaster(i).Value = True 'Radiobutton setzen Found = True If i = 1 Then Click = True End If End If 'Masseinheit ergaenzen If Mass(i) = "MM" Then labRasterwert(i) = Grid(i) & "mm " labRasteranzeige(i) = GShow(i) & "mm " labLineal(i) = Ruler(i) & "mm " ElseIf Mass(i) = "ZMM" Then labRasterwert(i) = Grid(i) / 10 & "mm " labRasteranzeige(i) = GShow(i) / 10 & "mm " labLineal(i) = Ruler(i) / 10 & "mm " ElseIf Mass(i) = "MIL" Then labRasterwert(i) = Grid(i) & "mil " labRasteranzeige(i) = GShow(i) & "mil " labLineal(i) = Ruler(i) & "mil " ElseIf Mass(i) = "INCH" Then labRasterwert(i) = Grid(i) & "in. " labRasteranzeige(i) = GShow(i) & "in. " labLineal(i) = Ruler(i) & "in. " End If Next i = 8 objData.Close Set objFile = Nothing If Found = False Then Cb_Masseinheit = Mass(0) Text_Grid = Grid(0) Text_GShow = GShow(0) Mass(8) = Mass(0) Grid(8) = Grid(0) GShow(8) = GShow(0) Ruler(8) = Ruler(0) optRaster(8).Value = True End If End Sub Private Sub optRaster_Click(Index As Integer) If Index = 8 Then objPrj.SetMeasure Cb_Masseinheit objPrj.SetGridSize Text_Grid objPrj.SetPointGridSize Text_GShow objPrj.SetRulerGridSize Text_Ruler Else objPrj.SetMeasure Mass(Index) objPrj.SetGridSize Grid(Index) objPrj.SetPointGridSize GShow(Index) objPrj.SetRulerGridSize Ruler(Index) End If If Click = True Then Call Form_Unload(1) End If Click = True End Sub