végre elekzdtem

This commit is contained in:
2025-06-19 14:58:10 +02:00
parent d8a423f9e6
commit dc38a21336

View File

@@ -51,7 +51,7 @@ Public Class MainWindow
Dim excelPrintNeeded As Boolean Dim excelPrintNeeded As Boolean
Dim NeedPdf As Boolean Dim NeedPdf As Boolean = True
Dim NeedPdfOssze As Boolean Dim NeedPdfOssze As Boolean
Dim NeedDxf As Boolean Dim NeedDxf As Boolean
Dim NeedDWG As Boolean Dim NeedDWG As Boolean
@@ -432,6 +432,9 @@ Public Class MainWindow
End Sub End Sub
Private Sub TiffCheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles TIFFCheckbox.Checked, TIFFCheckbox.Unchecked Private Sub TiffCheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles TIFFCheckbox.Checked, TIFFCheckbox.Unchecked
If TIFFCheckbox.IsChecked = True Then If TIFFCheckbox.IsChecked = True Then
@@ -453,6 +456,13 @@ Public Class MainWindow
End Sub End Sub
Private Sub PdfCheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles PDFCheckBox.Checked, PDFCheckBox.Unchecked Private Sub PdfCheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles PDFCheckBox.Checked, PDFCheckBox.Unchecked
If PDFCheckBox.IsChecked = True Then
NeedPdf = True
Else
NeedPdf = False
End If
If KulonAloRajzok.IsChecked = True Then If KulonAloRajzok.IsChecked = True Then
If PDFCheckBox.IsChecked = True Then If PDFCheckBox.IsChecked = True Then
@@ -624,7 +634,7 @@ Public Class MainWindow
If NeedPdf = True Then If NeedPdf = True Then
Dim FileNameMod As String Dim FileNameMod As String
' MsgBox(FileNames(y)) ' MsgBox(FileNames(y))
FileNameMod = FileNames(y) FileNameMod = FileNames(y)
HandleNames(FileNameMod, y, 0, ".PDF", model1) HandleNames(FileNameMod, y, 0, ".PDF", model1)
CreatePdf(session, model1, FileNameMod) CreatePdf(session, model1, FileNameMod)
@@ -915,7 +925,7 @@ Public Class MainWindow
FileNameModTimer = FileNameMod FileNameModTimer = FileNameMod
End Sub End Sub
Public Sub HandleTable(session As IpfcBaseSession, ByRef TableContent(,) As String) Public Sub HandleTable(session As IpfcBaseSession, ByRef TableContent(,) As String, MoreThanOneTable As Integer)
Dim selection As IpfcSelection = Nothing Dim selection As IpfcSelection = Nothing
Dim selections As New CpfcSelections Dim selections As New CpfcSelections
@@ -933,12 +943,12 @@ Public Class MainWindow
Dim CellValues As String Dim CellValues As String
' str1 = " Creo segéd program" ' str1 = " Creo segéd program"
'str2 = "" 'str2 = ""
Dim MoreThanOneTable As Boolean = False
ChooseTable(session, session.CurrentModel, MoreThanOneTable, table)
If MoreThanOneTable = True Then ' ChooseTable(session, session.CurrentModel, MoreThanOneTable, table)
If MoreThanOneTable > 1 Then
HandleWindow.FocusWindowM("In", "fo") HandleWindow.FocusWindowM("In", "fo")
ProgressTextstr = "Válassz táblázatot!" ProgressTextstr = "Válassz táblázatot!"
@@ -951,13 +961,13 @@ Public Class MainWindow
selectionOptions = (New CCpfcSelectionOptions).Create("dwg_table") selectionOptions = (New CCpfcSelectionOptions).Create("dwg_table")
selectionOptions.MaxNumSels = 1 selectionOptions.MaxNumSels = 1
Try ' Try
selections = session.Select(selectionOptions, Nothing) selections = session.Select(selectionOptions, Nothing)
selection = selections.Item(0) selection = selections.Item(0)
Catch ex As Exception ' Catch ex As Exception
MsgBox(ex.Message) ' MsgBox(ex.Message)
Exit Sub ' Exit Sub
End Try ' End Try
' Dim name1 As String = "Creo Parametric" ' Dim name1 As String = "Creo Parametric"
' Dim name2 As String = "(Active)" ' Dim name2 As String = "(Active)"
' HandleWindow.FocusWindowM(name2, name1) ' HandleWindow.FocusWindowM(name2, name1)
@@ -971,53 +981,32 @@ Public Class MainWindow
' table = iTableOwner.GetTable(2) ' table = iTableOwner.GetTable(2)
TableCoulomnCount = table.GetColumnCount() TableCoulomnCount = table.GetColumnCount()
TableRowCount = table.GetRowCount() TableRowCount = table.GetRowCount()
ReDim TableContent(TableRowCount - 5, TableCoulomnCount) ReDim TableContent(TableRowCount - 1, TableCoulomnCount)
For col = 1 To TableCoulomnCount For col = 1 To TableCoulomnCount
For row = 6 To TableRowCount For row = 7 To TableRowCount
TableCell = (New CCpfcTableCell).Create(row, col) TableCell = (New CCpfcTableCell).Create(row, col)
Try Try
Cstringseq = table.GetText(TableCell, 0) Cstringseq = table.GetText(TableCell, 0)
CellValues = Cstringseq.Item(0) CellValues = Cstringseq.Item(0)
' MsgBox(Cstringseq.Item(0))
If col = 7 Then TableCell = (New CCpfcTableCell).Create(row, col)
If Cstringseq.Item(0).Substring(0, 2) = "" Then
CellValues = Cstringseq.Item(0).Substring(2, Cstringseq.Item(0).Length - 2)
End If
If Cstringseq.Item(0).Substring(0, 1) = "" Then
CellValues = Cstringseq.Item(0).Substring(1, Cstringseq.Item(0).Length - 1)
End If
End If
If col = 10 Then TableContent(row - 4, col) = CellValues
If Cstringseq.Item(0) = "-" Then
CellValues = ""
End If
End If
If namingsyntax = "audi" = False Then
If Cstringseq.Item(0).Length > 8 Then
If Cstringseq.Item(0).Substring(0, 6) = "26-000" Then
CellValues = ""
End If
If Cstringseq.Item(0).Substring(0, 5) = " Pos." Then
CellValues = ""
End If
End If
End If
TableContent(row - 5, col) = CellValues
Catch ex As Exception Catch ex As Exception
TableContent(row - 5, col) = "" TableContent(row - 4, col) = " "
End Try End Try
' MsgBox(row)
Next Next
Next Next
@@ -1026,10 +1015,10 @@ Public Class MainWindow
SHMNum = CellToString(table, 1, 5) SHMNum = CellToString(table, 1, 5)
MachineName = CellToString(table, 3, 7) MachineName = CellToString(table, 2, 7)
SHMDate = CellToString(table, 4, 7) SHMDate = CellToString(table, 3, 7)
SubMachineName = CellToString(table, 2, 7) SubMachineName = CellToString(table, 1, 7)
AudiNum = CellToString(table, 1, 7) 'AudiNum = CellToString(table, 1, 7)
NameT = CellToString(table, 3, 5) NameT = CellToString(table, 3, 5)
@@ -1041,33 +1030,40 @@ Public Class MainWindow
xlApp = New Excel.Application xlApp = New Excel.Application
xlWorkBook = xlApp.Workbooks.Open(FilnameMod) xlWorkBook = xlApp.Workbooks.Open(FilnameMod)
xlWorkSheet = xlWorkBook.Worksheets("AUDI-Bemi-Stückliste") xlWorkSheet = xlWorkBook.Worksheets("Darabjegyzék")
xlApp.DisplayAlerts = False xlApp.DisplayAlerts = False
Dim RowCount As Integer = TableContent.GetLength(0) - 1 Dim RowCount As Integer = TableContent.GetLength(0) - 1
Dim ColCount As Integer = TableContent.GetLength(1) - 1 Dim ColCount As Integer = TableContent.GetLength(1) - 1
'Fill V-numbers...I think 'Fill V-numbers...I think
For row = 1 To RowCount For row = 3 To RowCount - 3
Console.WriteLine(TableContent(row, 7)) Console.WriteLine(TableContent(row, 7))
If TableContent(row, 7).Length < 2 Then ' If TableContent(row, 7).Length < 2 Then
TableContent(row, 7) = " " ' TableContent(row, 7) = " "
End If ' End If
'Ha "V-"-vel kezdődik a string akkor kitölti a 'Ha "V-"-vel kezdődik a string akkor kitölti a
' If TableContent(row, 7).Substring(0, 2) <> "V-" Then ' If TableContent(row, 7).Substring(0, 2) <> "V-" Then
For col = 1 To ColCount ' For col = 1 To ColCount
xlWorkSheet.Cells(row + 5, col) = TableContent(row, col) ' xlWorkSheet.Cells(row + 5, col) = TableContent(row, col)
Next 'xt
' Else ' Else
Dim u As Integer = 1
' xlWorkSheet.Cells(row + 5, 7) = TableContent(row, 7) xlWorkSheet.Cells(row + u, 1) = TableContent(row, 1)
' xlWorkSheet.Cells(row + 5, 3) = TableContent(row, 3) xlWorkSheet.Cells(row + u, 2) = TableContent(row, 2)
' xlWorkSheet.Cells(row + 5, 4) = TableContent(row, 4) xlWorkSheet.Cells(row + u, 3) = TableContent(row, 3)
' End If xlWorkSheet.Cells(row + u, 4) = TableContent(row, 4)
xlWorkSheet.Cells(row + u, 5) = TableContent(row, 5)
xlWorkSheet.Cells(row + u, 6) = TableContent(row, 6)
xlWorkSheet.Cells(row + u, 7) = TableContent(row, 7)
xlWorkSheet.Cells(row + u, 8) = TableContent(row, 8)
xlWorkSheet.Cells(row + u, 9) = TableContent(row, 9).Replace("n", "ø")
' xlWorkSheet.Cells(row + u, 9) = TableContent(row, 9)
xlWorkSheet.Cells(row + u, 10) = TableContent(row, 10)
' End If
' '
Next Next
'Do I really need this ?! 'Do I really need this ?!
SHMNum = CellToString(table, 1, 5) SHMNum = CellToString(table, 1, 5)
NameT = CellToString(table, 3, 5) NameT = CellToString(table, 3, 5)
@@ -1336,35 +1332,42 @@ Public Class MainWindow
End Sub End Sub
Private Sub CreateExcel(session As IpfcBaseSession, FilnameMod As String) Private Sub CreateExcel(session As IpfcBaseSession, FilnameMod As String)
Try Dim TableContent(,) As String = Nothing
Dim MoreThanOneTable As Integer = 0
ChooseTable(session, session.CurrentModel, MoreThanOneTable, table)
If MoreThanOneTable = 0 Then
Exit Sub
End If
Dim TableContent(,) As String = Nothing HandleTable(session, TableContent, MoreThanOneTable)
HandleTable(session, TableContent)
'Copies XLS to destenation folder ' Generálja a temp fájl elérési útját
If namingsyntax = "audi" Then Dim tempPath As String = System.IO.Path.Combine(System.IO.Path.GetTempPath(), Path.GetFileName(FilnameMod))
File.Copy("U:\proe_beallitasok\Creo4\Utilities\Stuckliste_alap.xls", FilnameMod.ToUpper(), 1) 'English Dim currentDirectory As String = Directory.GetCurrentDirectory() ' Gets the running directory
Else currentDirectory = "C:\Creo_config\06 - Creo\18 - Utilities"
File.Copy("U:\proe_beallitasok\Creo4\Utilities\Stuckliste_alap_hu.xls", FilnameMod.ToUpper(), 1) 'Hungarian Dim sourcePath As String = Path.Combine(currentDirectory, "Darabjegyzek.xlsm")
End If ' Másolja az XLS-t az ideiglenes mappába
' MsgBox(FilnameMod) File.Copy(sourcePath, tempPath, True)
'Writes Creo table content to XLS ' Kiírja a Creo táblázat tartalmát az XLS-be
HandleExcel(session.CurrentModel, FilnameMod, TableContent) HandleExcel(session.CurrentModel, tempPath, TableContent)
If ddas = True Then ' Ellenőrzés és visszajelzés
xlsCreated.Add(Path.GetFileName(FilnameMod) & " elkészült.") If ddas = True Then
Else xlsCreated.Add(Path.GetFileName(FilnameMod) & " elkészült.")
xlsCreated.Add(Path.GetFileName(FilnameMod) & " elkészült." & " - Cég információk hiányoznak!") Else
HibakSzama = HibakSzama + 1 xlsCreated.Add(Path.GetFileName(FilnameMod) & " elkészült." & " - Cég információk hiányoznak!")
End If
Catch ex As Exception
xlsCreated.Add(Path.GetFileName(FilnameMod) & " nem készült el, a következő hiba üzenettel: " & ex.Message)
HibakSzama = HibakSzama + 1 HibakSzama = HibakSzama + 1
End Try End If
' Végleges fájl elérési útjának generálása
Dim finalDestination As String = FilnameMod.ToUpper()
' Másolja az ideiglenes fájlt a végleges célhelyre
File.Copy(tempPath, finalDestination & "M", True)
End Sub End Sub
'Printing each file to printer 'Printing each file to printer
@@ -1738,36 +1741,34 @@ Public Class MainWindow
model2 = view2d.GetModel model2 = view2d.GetModel
models.Add(model2) models.Add(model2)
End Sub End Sub
Private Sub ChooseTable(session As IpfcBaseSession, model1 As IpfcModel, ByRef MoreThanOne As Boolean, ByRef iTableRef As IpfcTable) Private Sub ChooseTable(session As IpfcBaseSession, model1 As IpfcModel, ByRef MoreThanOne As Integer, ByRef iTableRef As IpfcTable)
Dim iTables As IpfcTables Dim iTables As IpfcTables
Dim iTableOnwer As IpfcTableOwner Dim iTableOnwer As IpfcTableOwner
iTableOnwer = model1 iTableOnwer = model1
iTables = iTableOnwer.ListTables iTables = iTableOnwer.ListTables
Dim iTCells As IpfcTableCell Dim iTCells As IpfcTableCell
iTCells = (New CCpfcTableCell).Create(5, 7) iTCells = (New CCpfcTableCell).Create(2, 2)
Dim Cstringseq As New Cstringseq Dim Cstringseq As New Cstringseq
Dim a As Integer = 0 Dim a As Integer = 0
'MsgBox(iTables.Count)
For Each iTablea As IpfcTable In iTables For Each iTablea As IpfcTable In iTables
Try Try
Cstringseq = iTablea.GetText(iTCells, 0) Dim CellStr As String = CellToString(iTablea, 2, 5)
'MsgBox(CellStr)
If Cstringseq.Item(0) = "Stefani" Then If CellStr = "Famex Tools Kft." Or CellStr = "Famex Tools" Then
a = a + 1 MoreThanOne = MoreThanOne + 1
iTableRef = iTablea iTableRef = iTablea
End If End If
Catch ex As Exception Catch ex As Exception
' MsgBox(ex.Message)
End Try End Try
Next Next
' MsgBox(a)
If a = 1 Then
MoreThanOne = False
Else
MoreThanOne = True
End If
' MsgBox(iTableRef.GetRowCount) ' MsgBox(iTableRef.GetRowCount)
' iLayer. ' iLayer.
End Sub End Sub