Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TruTops
  NC Nachbearbeitungsprogramm

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  NC Nachbearbeitungsprogramm (2266 mal gelesen)
fabian86
Mitglied



Sehen Sie sich das Profil von fabian86 an!   Senden Sie eine Private Message an fabian86  Schreiben Sie einen Gästebucheintrag für fabian86

Beiträge: 253
Registriert: 31.12.2006

Intel Pentium D 945 3.4 GHZ 2 x 2MB Cache
Asus P5ND2-SLI Deluxe
Nvidia Geforce 6600GT
3 GB GB DDR2-533
2x 250 GB SATA Raid 0, 1x 250 GB, 1x200 GB

erstellt am: 15. Mai. 2018 22:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Wir haben oft Teile die wir beschriften müssen, von Hand sobald sie von der Maschine kommen, meistens jedes Teil einzeln nun habe ich die Funktion NC Nachbearbeitung gefunden womit sich Befehle aufrufen lassen.
Leider hat es in Tops keine Anleitung was man damit alles Anstellen kann, nur den Hinweis das man auch selber befehle erstellen kann, Externe Programme öffnen kann und Befehle weiterleiten kann.
Hat jemand hierzu irgendwo eine Anleitung?

Meine Idee ist folgende:

Ich gebe an Word die Teile-ID (die im Nest an Punch übergeben wird) und den Dateinamen(Idealerweise ohne .geo) weiter pro seite einmal: "TeileID = Dateiname"
Die TeileID ist nötig damit es der Bediener zuordnen kann und der Dateiname wünscht sich der Kunde auf dem Teil auf der Rückseite

Das ganze dann als Etikett gedruckt so das man es nur noch auf der Rückseite befestigen kann...
Aktuell nimmt das Anschreiben der Teile mehr Zeit in Anspruch als es auf der Maschine benötigt zum Stanzen, da noch ein Antistatik Kleber drauf gemacht werden muss damit das Pulver da nicht haftet und man es noch alles lesen kann.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Frank Schuchort
Mitglied
NC-Programmierer,Konstrukteur


Sehen Sie sich das Profil von Frank Schuchort an!   Senden Sie eine Private Message an Frank Schuchort  Schreiben Sie einen Gästebucheintrag für Frank Schuchort

Beiträge: 116
Registriert: 08.09.2001

erstellt am: 16. Mai. 2018 08:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fabian86 10 Unities + Antwort hilfreich

Hallo Fabian,
es gibt von Trumpf ein Programm um Etiketten für Teile zu erstellen.
Das ist unter C:\TRUMPF.NET\Utils\UserFunctions\labelPrinter zu finden.
Bitte Funktionsumfang und Bedienung der Hilfe Datei entnehmen.
Das ist scheinbar eine Option und muß zugekauft werden.

Gruß Frank

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fabian86
Mitglied



Sehen Sie sich das Profil von fabian86 an!   Senden Sie eine Private Message an fabian86  Schreiben Sie einen Gästebucheintrag für fabian86

Beiträge: 253
Registriert: 31.12.2006

Intel Pentium D 945 3.4 GHZ 2 x 2MB Cache
Asus P5ND2-SLI Deluxe
Nvidia Geforce 6600GT
3 GB GB DDR2-533
2x 250 GB SATA Raid 0, 1x 250 GB, 1x200 GB

erstellt am: 16. Mai. 2018 12:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Leider ist dies eine Option jedoch kann man selbstständig ein Script schreiben wo das bewerkstelligt ohne das man nicht die Option von Trumpf benötigt...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BernhardF
Mitglied



Sehen Sie sich das Profil von BernhardF an!   Senden Sie eine Private Message an BernhardF  Schreiben Sie einen Gästebucheintrag für BernhardF

Beiträge: 93
Registriert: 11.10.2011

NX 1965
Win 10
Teamcenter 13
TruTops Boost 13
TruTops 11

erstellt am: 16. Mai. 2018 12:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fabian86 10 Unities + Antwort hilfreich

Guten Tag

Wenn man die Option nicht kaufen will / kann / darf und man jemanden zur Hand hat der ein wenig programmieren kann, kann man das Ganze über das NC-Nachbearbeitungsproggramm machen.

Ich habe etwas vergleichbares gemacht.
(Beim Übertragen des Programms an die Lasermaschine werden *.Job Datei & HTML-Einrichteplan analysiert und die Daten (Bearbeitungszeit & Materialverbrauch) an SAP übergeben und die Einrichtepläne automatisch an die Arbeitsstation der Lasermaschine versendet.
Hier der Beitrag mit den Einstellungen in TruTops:
https://ww3.cad.de/foren/ubb/Forum531/HTML/000048.shtml


Ein kleiner Hinweis:
Eine Worddatei ist das denbar ungeeignetste Dateiformat das man sich für diese Aufgabe vorstellen kann.

Je nachdem womit bzw. mit welcher Programmiersprache programmiert wird eignen sich verschiedene Dateiformate.

Wenn man ein Excel-VBA Makro schreibt, das automatisch nach dem Start der Excel Datei losläuft, eignen sich natürlich die üblichen Excel Formate *.csv, *.xls, *.xlsm, *.xlsb, *.xlsx,...

Wenn man C/C++, C#, PHP, Java, Java Script, Python, Batch-Datei, Basic, Pascal, Python,... verwendet, würde ich eher zu *.csv, *.xml,  oder Tabulator getrennten Text Dateien raten.


Bei dem Weg über das Nachbearbeitungsprogramm erhält man unter anderem den Dateipfad auf das lst-Laserprogramm als Parameterübergabe.
Über diesen Pfad kann man auf die Job-Datei und den Einrichteplan zurückschließen.
Die Job-Datei ist im XML-Format aufgebaut.
Der Einrichteplan enthält Daten in den unterschiedlichsten Formaten im Komentarbereich.


Ich weis nicht wie die Aufträge bei euch zusammengestellt werden, aber wir verwenden hier ein selbst erstelltes Programm, welches die Teile nach Blechtyp, Termin, verwendete Werkzeuge, ungefähren Materialbedarf und ungefähre Laufzeit in Programme zusammenfasst.

Über das Datenfeld Kunde werden alle möglichen Zusatz-Informationen an TruTops übergeben.
Diese Daten sind dann in der Job-Datei enthalten und können vom Nachbearbeitungsprogramm weiterverarbeitet werden.
Somit müssen keine zusätzlichen Dateien übergeben werden und alles läuft vollautomatisch im Hintergrund ab.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fabian86
Mitglied



Sehen Sie sich das Profil von fabian86 an!   Senden Sie eine Private Message an fabian86  Schreiben Sie einen Gästebucheintrag für fabian86

Beiträge: 253
Registriert: 31.12.2006

Intel Pentium D 945 3.4 GHZ 2 x 2MB Cache
Asus P5ND2-SLI Deluxe
Nvidia Geforce 6600GT
3 GB GB DDR2-533
2x 250 GB SATA Raid 0, 1x 250 GB, 1x200 GB

erstellt am: 16. Mai. 2018 18:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

OK das klingt schonmal sehrgut, klingt genau so wie ich denke das es Funktionieren könnte, Word zum verdeutlichen...
Programmieren ist halt so ne sache :-( demfall such ich mal alles zusammen und teste ein bisschen rum!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fabian86
Mitglied



Sehen Sie sich das Profil von fabian86 an!   Senden Sie eine Private Message an fabian86  Schreiben Sie einen Gästebucheintrag für fabian86

Beiträge: 253
Registriert: 31.12.2006

Intel Pentium D 945 3.4 GHZ 2 x 2MB Cache
Asus P5ND2-SLI Deluxe
Nvidia Geforce 6600GT
3 GB GB DDR2-533
2x 250 GB SATA Raid 0, 1x 250 GB, 1x200 GB

erstellt am: 18. Mai. 2018 22:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

-

[Diese Nachricht wurde von fabian86 am 20. Mai. 2018 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fabian86
Mitglied



Sehen Sie sich das Profil von fabian86 an!   Senden Sie eine Private Message an fabian86  Schreiben Sie einen Gästebucheintrag für fabian86

Beiträge: 253
Registriert: 31.12.2006

Intel Pentium D 945 3.4 GHZ 2 x 2MB Cache
Asus P5ND2-SLI Deluxe
Nvidia Geforce 6600GT
3 GB GB DDR2-533
2x 250 GB SATA Raid 0, 1x 250 GB, 1x200 GB

erstellt am: 20. Mai. 2018 14:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Mein VBA mit Excel ist jetzt so gut wie Fertig (Kopieren auf verschiedene Blätter und am Ende das erste Löschen) damit das html nicht gedruckt wird.

Was ich jetzt nicht zustande bringe ist die übergabe von Tops an Excel!

Parameter: "$(D)$(N).html"
Programm:  $(HKEY_CLASSES_ROOT\Excel.Macrosheet\SHELL\OPEN\COMMAND\)

Nun wird jedoch nur das Excel geöffnet mit dem html Dokument drin (schon fast gut!)
Nun sollte er es aber in der vorlage öffnen wo das Makro drin steht, wie bringt man das Fertig?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fabian86
Mitglied



Sehen Sie sich das Profil von fabian86 an!   Senden Sie eine Private Message an fabian86  Schreiben Sie einen Gästebucheintrag für fabian86

Beiträge: 253
Registriert: 31.12.2006

Intel Pentium D 945 3.4 GHZ 2 x 2MB Cache
Asus P5ND2-SLI Deluxe
Nvidia Geforce 6600GT
3 GB GB DDR2-533
2x 250 GB SATA Raid 0, 1x 250 GB, 1x200 GB

erstellt am: 21. Mai. 2018 12:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

So ich hab mich nochmal hingesetzt und das Makro zu Ende geschrieben:

Code:
Sub Drucken()
Dim Spalte As Long
Cells.Find("EINZELTEILINFORMATION").Activate
Spalte = ActiveCell.Row
Spalte = Spalte + 2
Do While Cells(Spalte, 6).Value <> ""
    Range(Cells(Spalte, 5), Cells(Spalte, 6)).PrintOut Copies:=Range("D" & Spalte), ActivePrinter:="HP (HP Photosmart Plus B209a-m)", Collate:=True
    Summe = Summe + Cells(Spalte, 1)
    Spalte = Spalte + 1
Loop
   
End Sub


!Wenn Tops auf einer anderen Sprache ist müsste nach dem jeweiligen Länderspezifischen Wort für EINZELTEILINFORMATION gesucht werden.

Der HTML Einrichtplan wird in Excel geöffnet dieser habe ich jedoch noch ein bisschen Bearbeitet,, damit eine Spalte E und F entsteht, dem Template teil_lst.html(Diese Liegen in Trumpflaufwerk:\Templates\HTML\html_block) habe ich noch Vollgendes hinzugefügt:

Code:
'"<tr><td valign="top"><font size="2">",PARTS_IN_PROGRAM_110," </font></td>"',\
'"<td valign="top"><font size="2">",PARTS_IN_PROGRAM_30," </font></td>"',\
'"<td valign="top"><font size="2">",PARTS_IN_PROGRAM_50," </font></td>"',\
'"<td>",PARTS_IN_PROGRAM_60,"</td>"',\

'"<td>",PARTS_IN_PROGRAM_110," </td>"',\
'"<td><b>",PARTS_IN_PROGRAM_70,"</b></td></tr>"',\

PARTS_IN_PROGRAM_110 ist die TeileID
PARTS_IN_PROGRAM_70 ist der Kurz Dateiname ohne .Geo
Bei PARTS_IN_PROGRAM_60 habe ich den Abstand noch entfernt da Excel sonst verwirrt ist und dies nicht als Zahl erkennt, um die Anzahl der Kopien zu erkennen

Nun habe ich jedoch ein kleines Problem indem mir BernhardF hoffentlich behilflich sein wird, und zwar wird mir das File nicht wie erhofft in der Vorlage wo das Makro drin ist geöffnet sondern er öffnet das HTML im Excel wodurch das Makro danach nicht geöffnet wird, die Frage ist wie kann ich das File in meiner Excel Vorlage öffnen?

[s]Edit: In Excel kann man unter C:\Users\username\AppData\Roaming\Microsoft\Excel\XLSTART eine datei mit personal.xlsm Speichern die enthält das Makro bei der geht man auf Ansicht -> Ausblenden, dies wird dann immer geöffnet aber nicht angezeigt, wenn man dann noch unter im MacroEditor unter  Diese Arbeitsmappe den code einträgt:

Code:

Private Sub Workbook_Open()

Call Drucken

End Sub



wird es Sofort gedruckt sobald man Excel öffnet, da sich bei einem Neuen Dokument garnichts darin befindet kann auch nichts gedruckt werden ;-) Geht dochnicht

Hab nun einen Button (Ribbon) in Excel gemacht der einfach das Makro auf macht, der ist dann egal in welchem Excel Dokument verfügbar, ist egal, wenn man ihn zufällig drückt und die Zeilen nicht befüllt sind kommt einfach garnix ;-)

Das Makro wird dann durch den Druck auf den Button ausgeführt, das macht normalerweise das excel file auf, dies kann man aber in Excel ausblenden, daher druckt er dann einfach...

[Diese Nachricht wurde von fabian86 am 22. Mai. 2018 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BernhardF
Mitglied



Sehen Sie sich das Profil von BernhardF an!   Senden Sie eine Private Message an BernhardF  Schreiben Sie einen Gästebucheintrag für BernhardF

Beiträge: 93
Registriert: 11.10.2011

NX 1965
Win 10
Teamcenter 13
TruTops Boost 13
TruTops 11

erstellt am: 23. Mai. 2018 13:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fabian86 10 Unities + Antwort hilfreich

Entschuldige das ich mich erst jetzt melde.
Ich hatte Urlaub und habe zu Hause keinen Zugriff auf die Zugangsdaten.

Schön das es wie gewünscht funktioniert.

Es gäbe da einen Weg das Ganze automatisch auszuführen.
Und zwar, indem man einfach nur die Exceldatei mit dem Druck-Makro aus TruTops heraus öffnet und in diesem das Makro automatisch loslaufen lässt.
Hier kann man es so lösen, das man einfach den Ordner nach Html-Dateien durchsucht und alle gefundenen Dateien bearbeitet.
Nach dem Bearbeiten verschiebt man die Datei in einen anderen Ordner bzw. löscht sie.
Das hat auch den Vorteil das sich das Makro nach dem Abarbeiten wieder selbständig schließen kann und TruTops ungehindert weiter läuft.

Alternativ kann man eine Batch Datei (*.bat) verwenden.
Hier wird die Batch-Datei gestartet und dort kann man zuerst die per Parameterübergabe übergebene Datei (Wenn ich mich richtig erinnere: %1) starten und dann die Makro-Datei öffnen.

.

Das Öffnen der HTML-Dateien hätte ich umständlicher gemacht.
'Beispiel:
Und zwar durch zeilenweises Lesen der Daten und Bearbeiten der Daten in Arrays ohne diese in ein Arbeitsblatt einzutragen.
In etwa folgendermaßen:

 

Code:
Dim strZeile    As String
  Dim ZNr          As Long
  Dim strDateipfad As String
  Dim fNum        As Integer

  strDateipfad = "C:\Ordner\EineTextdatei.html"

  fNum = FreeFile()
  Open strDateipfad For Input As fNum

  Do Until EOF(1)

      ZNr = ZNr + 1
      Line Input #fNum, strZeile
      Debug.Print "Zeile " & ZNr & ": " & strZeile

  Loop

  Close fNum

Im Normalfall geht es so schneller und es funktioniert auch wenn die Komentare mit den ganzen Zusatzinformationen nicht angezeigt werden.
Dafür muss man aber alles parsen und das Programm wird etwas aufwändiger.


Deine Version ist einfacher.
Man kann man etwas beschleunigen wenn man die Anzeige in Excel während der Bearbeitung / Eintragen der Daten abschaltet.

Application.ScreenUpdating = False 'Am Beginn der Bearbeitung

Application.ScreenUpdating = True 'Am Ende der Bearbeitung (Achtung -> Im Fehlerfall muss diese Zeile auch verwendet werden, da ansonsten die Anzeige deaktiviert bleibt.)


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BernhardF
Mitglied



Sehen Sie sich das Profil von BernhardF an!   Senden Sie eine Private Message an BernhardF  Schreiben Sie einen Gästebucheintrag für BernhardF

Beiträge: 93
Registriert: 11.10.2011

NX 1965
Win 10
Teamcenter 13
TruTops Boost 13
TruTops 11

erstellt am: 23. Mai. 2018 13:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fabian86 10 Unities + Antwort hilfreich

Ach ja, hier ist das Makro um mittels VBA unter Zuhilfenahme der Windows-API nach Dateien zu suchen:
(Ist nicht vollständig auf meinem Mist gewachsen)

Ich habe den Abschnitt aus meinem WinAPI-Modul herauskopiert
Eigentlich müsste alles dabei sein was man für die Verwendung von FindFilesAPI und FindFilesNoSubDirAPI benötigt.
Falls etwas fehlt, bitte Bescheid sagen.

Code:
'Create a form with a command button (command1), a list box (list1)
'and four text boxes (text1, text2, text3 and text4).
'Type in the first textbox a startingpath like c:\
'and in the second textbox you put a pattern like *.* or *.txt

Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long

Const MAX_PATH = 260
Const MAXDWORD = &HFFFF
Const INVALID_HANDLE_VALUE = -1
Const FILE_ATTRIBUTE_ARCHIVE = &H20
Const FILE_ATTRIBUTE_DIRECTORY = &H10
Const FILE_ATTRIBUTE_HIDDEN = &H2
Const FILE_ATTRIBUTE_NORMAL = &H80
Const FILE_ATTRIBUTE_READONLY = &H1
Const FILE_ATTRIBUTE_SYSTEM = &H4
Const FILE_ATTRIBUTE_TEMPORARY = &H100

Private Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type

Private Type WIN32_FIND_DATA
    dwFileAttributes As Long
    ftCreationTime As FILETIME
    ftLastAccessTime As FILETIME
    ftLastWriteTime As FILETIME
    nFileSizeHigh As Long
    nFileSizeLow As Long
    dwReserved0 As Long
    dwReserved1 As Long
    cFileName As String * MAX_PATH
    cAlternate As String * 14
End Type
Function StripNulls(OriginalStr As String) As String
    If (InStr(OriginalStr, Chr(0)) > 0) Then
        OriginalStr = Left(OriginalStr, InStr(OriginalStr, Chr(0)) - 1)
    End If
    StripNulls = OriginalStr
End Function

'Sucht Dateien ohne Unterordner
'path      = IN  - Ordner in dem gesucht werden soll ("C:\Ordner\")
'SearchStr  = IN  - Suchparameter ("*TeilEinesDateinamens*.txt*)
'FileCount  = OUT - Anzahl der gefundenen Dateien
'FilesFound = OUT - Pfade der gefundenen Dateien
Function FindFilesNoSubDirAPI(ByVal path As String, ByVal SearchStr As String, ByRef FileCount As Long, ByRef FilesFound() As String)
    Dim hSearch As Long ' Search Handle
    Dim WFD As WIN32_FIND_DATA
    Dim bCont As Integer
    Dim strName As String

    'Der Pfad muss ein Bachslash am Ende haben
    If Right(path, 1) <> "\" Then path = path & "\"

    ' Alle Funde abarbeiten
    hSearch = FindFirstFile(path & SearchStr, WFD)
    bCont = True
    If hSearch <> INVALID_HANDLE_VALUE Then
        Do While bCont
            strName = StripNulls(WFD.cFileName)
            If (strName <> ".") And (strName <> "..") Then
                ' Überprüfen ob es sich um Ordner oder Datei handelt
                If Not (GetFileAttributes(path & strName) And FILE_ATTRIBUTE_DIRECTORY) Then
                    'Wenn es eine Datei ist - Merken
                    FileCount = FileCount + 1
                    ReDim Preserve FilesFound(FileCount)
                    FilesFound(FileCount) = path & strName
                End If
                bCont = FindNextFile(hSearch, WFD) 'Nächsten passenden Fund ermitteln.
            End If
        Loop
        bCont = FindClose(hSearch) 'Suche beenden
    End If
End Function

'Sucht nach Dateien - Unterordner werden durchsucht
'path      = IN  - Ordner in dem gesucht werden soll ("C:\Ordner\")
'SearchStr  = IN  - Suchparameter ("*TeilEinesDateinamens*.txt*)
'FileCount  = OUT - Anzahl der gefundenen Dateien
'FilesFound = OUT - Pfade der gefundenen Dateien
Function FindFilesAPI(ByVal strPfad As String, ByVal strSuchtext As String, ByRef FileCount As Long, ByRef FilesFound() As String)
    Dim hSearch As Long ' Such Handle
    Dim WFD As WIN32_FIND_DATA
    Dim iSuche As Integer
    Dim strTmpPfad As String
    Dim strName As String

    'Backslash anhängen
    If Right(strPfad, 1) <> "\" Then strPfad = strPfad & "\"
   
    'Nach Dateien im aktuellen Ordner suchen
    FindFilesNoSubDirAPI strPfad, strSuchtext, FileCount, FilesFound

    iSuche = True
    hSearch = FindFirstFile(strPfad & "*.", WFD)
    If hSearch <> INVALID_HANDLE_VALUE Then
        Do While iSuche
            strName = StripNulls(WFD.cFileName)
            strTmpPfad = strPfad & strName
            ' Ignorieren der . und .. Funde.
            If (strName <> ".") And (strName <> "..") Then
                ' Wenn der Fund ein Ordner ist -> Durchsuchen.
                If GetFileAttributes(strTmpPfad) And FILE_ATTRIBUTE_DIRECTORY Then
                    FindFilesAPI strTmpPfad, strSuchtext, FileCount, strFund
                End If
            End If
            iSuche = FindNextFile(hSearch, WFD) 'Nach dem nächsten Ordner suchen.
        Loop
        iSuche = FindClose(hSearch) 'Suche beenden
    End If
End Function



Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fabian86
Mitglied



Sehen Sie sich das Profil von fabian86 an!   Senden Sie eine Private Message an fabian86  Schreiben Sie einen Gästebucheintrag für fabian86

Beiträge: 253
Registriert: 31.12.2006

Intel Pentium D 945 3.4 GHZ 2 x 2MB Cache
Asus P5ND2-SLI Deluxe
Nvidia Geforce 6600GT
3 GB GB DDR2-533
2x 250 GB SATA Raid 0, 1x 250 GB, 1x200 GB

erstellt am: 23. Mai. 2018 18:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich stand eher vor dem Problem wie bringe ich die html datei auf und gleichzeitig das Druckmakro auch, kann man in Tops irgendwie direkt auf ein Makro bzw. auf 2 excel verweisen die dann sozusagen zu einem werden?

Naja also es geht Relativ Flott man drückt und geht keine Sekunde bis das ganze an den Drucker geht, während des Druckens Excel schliessen und weitermachen... Je nachdem werden es schnell mal 40 Etiketten...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BernhardF
Mitglied



Sehen Sie sich das Profil von BernhardF an!   Senden Sie eine Private Message an BernhardF  Schreiben Sie einen Gästebucheintrag für BernhardF

Beiträge: 93
Registriert: 11.10.2011

NX 1965
Win 10
Teamcenter 13
TruTops Boost 13
TruTops 11

erstellt am: 25. Mai. 2018 12:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für fabian86 10 Unities + Antwort hilfreich

Es gibt da eine Lösung.

Wie ich geschrieben kann man das z.B. über eine Batch (bat) Datei erledigen wenn man kein eigenständiges Programm schreiben kann oder will.

Das Ganze funktioniert folgendermaßen:

Erstelle eine leere Text-Datei und benenne sie um.
Z.B.: EtikettenDruck.bat

Öffne die Bat-Datei mit dem Texteditor wie z.B. dem NotePad Editor.
Dort schreibe die Dateien hinen die gestartet werden sollen:

Code:

Start "" "C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" %1
"C:\Ordner\Makrodatei.xls"

Die erste Zeile startet die per Parameterübergabe übergebene Datei in Excel
Die zweite Zeile startet die Makrodatei und wartet bis das Makro fertig ist.


Diese Bat-Datei wird dann in TruTops als zu startendes Programm eingetragen.
Dass müsste dann funktionieren und das Ganze weiter automatisieren.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz