Ou sont les boss en VB

Ou sont les boss en VB - Programmation

Marsh Posté le 31-01-2001 à 12:18:00    

Je dois faire une impression de 20000 carte sur un listing, j'utilise word avec VB pour faire cela, les boites sont de 500 feuilles donc je lance 500 feuilles à la fois ! Le gros problème c'est qu'il lance 500 job pour l'impression comment je pourrais lancer 500 feuilles mais avec 1 seul job impression ?
 
 comment faire un graphique via vb ?

Reply

Marsh Posté le 31-01-2001 à 12:18:00   

Reply

Marsh Posté le 31-01-2001 à 12:38:52    

pour faire des graphique via VB, utilise le composant COM EXCEL, tu connais ?
sinon pour ton problème d'impression il faut que je réfléchisse ...
 
 
 
 
 
 
 
 
 
bzbzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

Reply

Marsh Posté le 31-01-2001 à 14:02:06    

non je ne connais pas !

Reply

Marsh Posté le 31-01-2001 à 14:08:27    

Ben lorsque tu lances l'impression de word spécifie le nb d'exemplaire que tu souhaites dans ton job ...ca me parait simple ou soit g pas compris la problèmatique
c ca ou pas ?


---------------
Galerie Photo (Canon)
Reply

Marsh Posté le 31-01-2001 à 14:31:20    

c'est pas ca !
 
je vais une boucle et je met ds les champs de word les différentes données via les signets !ss
 
ex :
for a = 1 to 500
signet 1 = 10
signet 2 = 100
impressionss
next a
 
c'est schematisé !!
 
donc tout ce fait par problème word est "invisible" !!

Reply

Marsh Posté le 31-01-2001 à 14:48:21    

mmhhh ....
En gros tu créés 500 Documents DIFFERENTS ?
 
le mieux n'est il pas de dupliquer ta page modele (celle qui contient les signets à remplacer par de vrais valeur) dans word, càd que tu crées 500 feuilles sous le meme .doc, que tu remplis à partir de ta boucle - c facile de se placer dans word au début de chaque page -. une fois cela réalisé tu lances l'impressionss
 
Exemple :
 
Tu as ta page Word modèle (que j'appellerai maquette)
 
Nomssss: [NOM]
Prenom : [PRENOM]
=> page 1
 
tu as une liste de 500 personnes, donc tu duppliques ta page 1
500 fois, (c très facile à faire à partir de VB) ok?
 
une fois que c fait, tu rentres dans ta boucle
for inti=1 to Personnes.count
ssReplace [NOM],Personnes(intI).Nom
ssReplace [PRENOM],Personnes(intI).Prenom
ssGoNextPage
next
 
Où la fonction Replace sera la fonction qui tu auras implementé qui sera capable de rechercher le champs [NOM] de la page en cours et de le remplacer par la valeur contenues dans "Personnes(intI).Nom"
et où la fonction GoNextPage sera une fonction qui te fait aller de page en page (très facile à faire aussi)
 
Une fois ta boucle terminée tu n'as plus qu'à lancer ton job d'impression
et hop fini !
 
Le seul pb, ce que si tu as bcp d'info à Mettre par page (càd bcp de remplacement à faire), WORD met un peu de temps


---------------
Galerie Photo (Canon)
Reply

Marsh Posté le 31-01-2001 à 14:59:04    

oui j'y avais pensé mais le nombre de page n'est pas fixe pour le moment il va etre de 500 mais apres il va etre de 250 - 1000
 
les données sont des données calculée et des données provenant d'une base de données (un genre de facture)

Reply

Marsh Posté le 31-01-2001 à 15:50:44    

Le mieux dans tons cas est de faire une fusion.
 
Tu crée ton modèle dans word avec des champs de fusion.
Tu exporte tes infos dans un .csv
Tu dis à word de fusionner à partir de ton .csv (pour savoir comment faire, tu le fais dans word en enregistrant une macro et tu adapte le code à vb)
Tu lance l'impression
 
Je l'ai déja fait et ça marche

Reply

Marsh Posté le 31-01-2001 à 17:37:01    

oui je vais essayer ! le pb c'est le temps! vu qu'il va faire 2 fois le travail !

Reply

Marsh Posté le 31-01-2001 à 20:38:42    

Pourquoi 2 fois le travail ?
 
Sinon Word gère les fusions directement avec des formats de données externes, sans passer par un CSV.
Quelle est le format d'origine de tes données ? Access, Excel, autre ?
 
J'ai déjà programmé une fusion de document Word (pas dans de tels volumes !) en OLE Automation à partir de Access.
Avec VB c'est surement aussi les doigts dans le nez ! (mais faut essuyer avant de taper au clavier :) )
 
A dispo pour infoss
 
A+

Reply

Marsh Posté le 31-01-2001 à 20:38:42   

Reply

Marsh Posté le 31-01-2001 à 20:48:18    

une partie des données sont en access une autre en données calculée via VB ! si je fais une fusion via CSV il faut que crées le fichier CSV avec les données (boulot 1 fois) puis je fais la fusion (boulot 2 Fois) !!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed