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
@@ -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)
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 ' 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,22 +1332,27 @@ 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 TableContent(,) As String = Nothing
HandleTable(session, TableContent) Dim MoreThanOneTable As Integer = 0
ChooseTable(session, session.CurrentModel, MoreThanOneTable, table)
'Copies XLS to destenation folder If MoreThanOneTable = 0 Then
If namingsyntax = "audi" Then Exit Sub
File.Copy("U:\proe_beallitasok\Creo4\Utilities\Stuckliste_alap.xls", FilnameMod.ToUpper(), 1) 'English
Else
File.Copy("U:\proe_beallitasok\Creo4\Utilities\Stuckliste_alap_hu.xls", FilnameMod.ToUpper(), 1) 'Hungarian
End If End If
' MsgBox(FilnameMod)
'Writes Creo table content to XLS HandleTable(session, TableContent, MoreThanOneTable)
HandleExcel(session.CurrentModel, FilnameMod, TableContent)
' Generálja a temp fájl elérési útját
Dim tempPath As String = System.IO.Path.Combine(System.IO.Path.GetTempPath(), Path.GetFileName(FilnameMod))
Dim currentDirectory As String = Directory.GetCurrentDirectory() ' Gets the running directory
currentDirectory = "C:\Creo_config\06 - Creo\18 - Utilities"
Dim sourcePath As String = Path.Combine(currentDirectory, "Darabjegyzek.xlsm")
' Másolja az XLS-t az ideiglenes mappába
File.Copy(sourcePath, tempPath, True)
' Kiírja a Creo táblázat tartalmát az XLS-be
HandleExcel(session.CurrentModel, tempPath, TableContent)
' Ellenőrzés és visszajelzés
If ddas = True Then If ddas = True Then
xlsCreated.Add(Path.GetFileName(FilnameMod) & " elkészült.") xlsCreated.Add(Path.GetFileName(FilnameMod) & " elkészült.")
Else Else
@@ -1359,12 +1360,14 @@ Public Class MainWindow
HibakSzama = HibakSzama + 1 HibakSzama = HibakSzama + 1
End If 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)
Catch ex As Exception
xlsCreated.Add(Path.GetFileName(FilnameMod) & " nem készült el, a következő hiba üzenettel: " & ex.Message)
HibakSzama = HibakSzama + 1
End Try
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