Imprimer en automatique

Tous sujets concernant le développement spécifique de TopSolid avec l'interface COM, le langage LIP, la programmation de l'API en VB...

Modérateurs : remi77, D@vid, Alexis GERARD

Répondre
ALB-MTP
Seconde Classe
Seconde Classe
Messages : 5
Enregistré le : 13 mai 2008, 14:00

Imprimer en automatique

Message non lu par ALB-MTP »

Bonjour,

comme je l'ai indiqué dans le post précédent, je débute dans la programmation sous TOPSolid, et je voudrais savoir comment faire pour lancer une impression soit en VB soit en LIP ?

Merci d'avance.
lolo43
Première Classe
Première Classe
Messages : 18
Enregistré le : 07 nov. 2006, 09:31
Version TopSolid : 6.12
Localisation : En Haute Loire

Message non lu par lolo43 »

Pour info un module en VBA permettant de scanner tout un répartoire contenant des DFT et de les imprimer en auto sur une imprimante PDF si le format de papier est le même que le parametre entré, si cela peut vous être utile.
Lolo43

-----------------------------------------------------------------------------

Code : Tout sélectionner

[color=blue]Sub impr_repertoire(rep, fmt)
'Rechercher les fichier .DFT dans un repertoire donné et l'imprimer sous format PDF
Dim doc As TopSolid.DocumentDraft
Set fs = Application.FileSearch
With fs
    'Dossier à scanner
   specdossier = rep
    'Longueur du chemin spécifié
    lonpath = Len(specdossier)
    .LookIn = specdossier
    'Type DFT
    .Filename = "*.dft"
    If .Execute > 0 Then
        'Ouvrir Topsolid
        Set TopApp = New TopSolid.Application
        'Rendre visible Topsolid
        TopApp.Visible = True
        For i = 1 To .FoundFiles.Count
            'Extraction du nom de fichier
            a = .FoundFiles(i)
            c = Right$(.FoundFiles(i), Len(.FoundFiles(i)) - lonpath - 1)
            'Création du nom de fichier à sauvegarder
            e = Left$(c, Len(c) - 4) + ".pdf"
            f = "\\serveur\Plans PDF\" + e
            'Ouvrir le document DFT
            Set doc = TopApp.Documents.Open(a, "", False)
            orient = doc.Path
            'L'imprimer si le format est identique au format sélectionné
            If doc.Drawings.Item(1).PaperFormat = fmt Then
                doc.PrintOut
                Application.Wait (Now + TimeValue("0:00:20"))
                'Copier le fichier imprimé dans le répertoire réseau
                 FileCopy "C:\pdftemp\fichierpdf.pdf", f
             End If
            doc.Close
        Next i
    Else
        MsgBox "Pas de fichier dans ce répertoire"
    End If
End With
'Fermer TopSolid
TopApp.Quit
End Sub
[/color]
Avatar du membre
D@vid
Administrateur
Administrateur
Messages : 419
Enregistré le : 20 juil. 2006, 17:29
Réponses : 6
Version TopSolid : 7.13
Module TopSolid : TopSolid'Design
Localisation : Nantes, France
Contact :

Message non lu par D@vid »

Excellent ! Merci à toi.
J'ai juste modifié l'affichage de ton code pour une meilleure lisibilité.

A+
Happy TopSolid!

D@vid

- Si vous avez obtenu une réponse à votre question, merci de cliquer sur la coche grise du message pour faire remonter le message comme résolu
- Préférez le contact en MP ou par E-mail forum@topsolid.com
- Avant de poser une question, utilisez la fonction Rechercher du forum ou consulter la FAQ
ALB-MTP
Seconde Classe
Seconde Classe
Messages : 5
Enregistré le : 13 mai 2008, 14:00

Message non lu par ALB-MTP »

Bonjour,

merci pour la reponse, dès que j'ai un peu de temps je regarde et je vous tiens au courant.
Répondre