From dc38a21336a469be4d864db4f970675c6755db9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rk=20Vitarius?= Date: Thu, 19 Jun 2025 14:58:10 +0200 Subject: [PATCH] =?UTF-8?q?v=C3=A9gre=20elekzdtem?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dokumentáció Készítő 3/MainWindow.xaml.vb | 201 +++++++++++----------- 1 file changed, 101 insertions(+), 100 deletions(-) diff --git a/Dokumentáció Készítő 3/MainWindow.xaml.vb b/Dokumentáció Készítő 3/MainWindow.xaml.vb index 2dacbe9..9ee77d3 100644 --- a/Dokumentáció Készítő 3/MainWindow.xaml.vb +++ b/Dokumentáció Készítő 3/MainWindow.xaml.vb @@ -51,7 +51,7 @@ Public Class MainWindow Dim excelPrintNeeded As Boolean - Dim NeedPdf As Boolean + Dim NeedPdf As Boolean = True Dim NeedPdfOssze As Boolean Dim NeedDxf As Boolean Dim NeedDWG As Boolean @@ -432,6 +432,9 @@ Public Class MainWindow End Sub + + + Private Sub TiffCheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles TIFFCheckbox.Checked, TIFFCheckbox.Unchecked If TIFFCheckbox.IsChecked = True Then @@ -453,6 +456,13 @@ Public Class MainWindow End Sub 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 PDFCheckBox.IsChecked = True Then @@ -624,7 +634,7 @@ Public Class MainWindow If NeedPdf = True Then Dim FileNameMod As String - ' MsgBox(FileNames(y)) + ' MsgBox(FileNames(y)) FileNameMod = FileNames(y) HandleNames(FileNameMod, y, 0, ".PDF", model1) CreatePdf(session, model1, FileNameMod) @@ -915,7 +925,7 @@ Public Class MainWindow FileNameModTimer = FileNameMod 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 selections As New CpfcSelections @@ -933,12 +943,12 @@ Public Class MainWindow Dim CellValues As String ' str1 = " Creo segéd program" '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") ProgressTextstr = "Válassz táblázatot!" @@ -951,13 +961,13 @@ Public Class MainWindow selectionOptions = (New CCpfcSelectionOptions).Create("dwg_table") selectionOptions.MaxNumSels = 1 - Try - selections = session.Select(selectionOptions, Nothing) - selection = selections.Item(0) - Catch ex As Exception - MsgBox(ex.Message) - Exit Sub - End Try + ' Try + selections = session.Select(selectionOptions, Nothing) + selection = selections.Item(0) + ' Catch ex As Exception + ' MsgBox(ex.Message) + ' Exit Sub + ' End Try ' Dim name1 As String = "Creo Parametric" ' Dim name2 As String = "(Active)" ' HandleWindow.FocusWindowM(name2, name1) @@ -971,53 +981,32 @@ Public Class MainWindow ' table = iTableOwner.GetTable(2) + TableCoulomnCount = table.GetColumnCount() TableRowCount = table.GetRowCount() - ReDim TableContent(TableRowCount - 5, TableCoulomnCount) + ReDim TableContent(TableRowCount - 1, TableCoulomnCount) For col = 1 To TableCoulomnCount - For row = 6 To TableRowCount - + For row = 7 To TableRowCount TableCell = (New CCpfcTableCell).Create(row, col) - Try Cstringseq = table.GetText(TableCell, 0) CellValues = Cstringseq.Item(0) + ' MsgBox(Cstringseq.Item(0)) - If col = 7 Then - If Cstringseq.Item(0).Substring(0, 2) = "  " Then - CellValues = Cstringseq.Item(0).Substring(2, Cstringseq.Item(0).Length - 2) - End If + TableCell = (New CCpfcTableCell).Create(row, col) - 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 - If Cstringseq.Item(0) = "-" Then - CellValues = "" - End If - End If + TableContent(row - 4, col) = CellValues - 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 - TableContent(row - 5, col) = "" + TableContent(row - 4, col) = " " End Try + + + ' MsgBox(row) Next Next @@ -1026,10 +1015,10 @@ Public Class MainWindow SHMNum = CellToString(table, 1, 5) - MachineName = CellToString(table, 3, 7) - SHMDate = CellToString(table, 4, 7) - SubMachineName = CellToString(table, 2, 7) - AudiNum = CellToString(table, 1, 7) + MachineName = CellToString(table, 2, 7) + SHMDate = CellToString(table, 3, 7) + SubMachineName = CellToString(table, 1, 7) + 'AudiNum = CellToString(table, 1, 7) NameT = CellToString(table, 3, 5) @@ -1041,33 +1030,40 @@ Public Class MainWindow xlApp = New Excel.Application xlWorkBook = xlApp.Workbooks.Open(FilnameMod) - xlWorkSheet = xlWorkBook.Worksheets("AUDI-Bemi-Stückliste") + xlWorkSheet = xlWorkBook.Worksheets("Darabjegyzék") xlApp.DisplayAlerts = False Dim RowCount As Integer = TableContent.GetLength(0) - 1 Dim ColCount As Integer = TableContent.GetLength(1) - 1 'Fill V-numbers...I think - For row = 1 To RowCount + For row = 3 To RowCount - 3 Console.WriteLine(TableContent(row, 7)) - If TableContent(row, 7).Length < 2 Then - TableContent(row, 7) = " " - End If + ' If TableContent(row, 7).Length < 2 Then + ' TableContent(row, 7) = " " + ' End If 'Ha "V-"-vel kezdődik a string akkor kitölti a ' If TableContent(row, 7).Substring(0, 2) <> "V-" Then - For col = 1 To ColCount - xlWorkSheet.Cells(row + 5, col) = TableContent(row, col) - Next + ' For col = 1 To ColCount + ' xlWorkSheet.Cells(row + 5, col) = TableContent(row, col) + 'xt ' Else - - ' xlWorkSheet.Cells(row + 5, 7) = TableContent(row, 7) - ' xlWorkSheet.Cells(row + 5, 3) = TableContent(row, 3) - ' xlWorkSheet.Cells(row + 5, 4) = TableContent(row, 4) - ' End If + Dim u As Integer = 1 + xlWorkSheet.Cells(row + u, 1) = TableContent(row, 1) + xlWorkSheet.Cells(row + u, 2) = TableContent(row, 2) + 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 ' Next - 'Do I really need this ?! SHMNum = CellToString(table, 1, 5) NameT = CellToString(table, 3, 5) @@ -1336,35 +1332,42 @@ Public Class MainWindow End Sub 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) + HandleTable(session, TableContent, MoreThanOneTable) - 'Copies XLS to destenation folder - If namingsyntax = "audi" Then - 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 - ' MsgBox(FilnameMod) + ' 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) - 'Writes Creo table content to XLS - HandleExcel(session.CurrentModel, FilnameMod, TableContent) + ' Kiírja a Creo táblázat tartalmát az XLS-be + HandleExcel(session.CurrentModel, tempPath, TableContent) - If ddas = True Then - xlsCreated.Add(Path.GetFileName(FilnameMod) & " elkészült.") - Else - xlsCreated.Add(Path.GetFileName(FilnameMod) & " elkészült." & " - Cég információk hiányoznak!") - HibakSzama = HibakSzama + 1 - End If - - - - Catch ex As Exception - xlsCreated.Add(Path.GetFileName(FilnameMod) & " nem készült el, a következő hiba üzenettel: " & ex.Message) + ' Ellenőrzés és visszajelzés + If ddas = True Then + xlsCreated.Add(Path.GetFileName(FilnameMod) & " elkészült.") + Else + xlsCreated.Add(Path.GetFileName(FilnameMod) & " elkészült." & " - Cég információk hiányoznak!") 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 'Printing each file to printer @@ -1738,36 +1741,34 @@ Public Class MainWindow model2 = view2d.GetModel models.Add(model2) 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 iTableOnwer As IpfcTableOwner iTableOnwer = model1 iTables = iTableOnwer.ListTables Dim iTCells As IpfcTableCell - iTCells = (New CCpfcTableCell).Create(5, 7) + iTCells = (New CCpfcTableCell).Create(2, 2) Dim Cstringseq As New Cstringseq Dim a As Integer = 0 + 'MsgBox(iTables.Count) + For Each iTablea As IpfcTable In iTables Try - Cstringseq = iTablea.GetText(iTCells, 0) - - If Cstringseq.Item(0) = "Stefani" Then - a = a + 1 + Dim CellStr As String = CellToString(iTablea, 2, 5) + 'MsgBox(CellStr) + If CellStr = "Famex Tools Kft." Or CellStr = "Famex Tools" Then + MoreThanOne = MoreThanOne + 1 iTableRef = iTablea End If + Catch ex As Exception + ' MsgBox(ex.Message) End Try + Next - ' MsgBox(a) - If a = 1 Then - MoreThanOne = False - - Else - MoreThanOne = True - End If ' MsgBox(iTableRef.GetRowCount) ' iLayer. End Sub