Après une matinée de tentatives infructueuses à base de plantages de VB
voire du système...
J'aimerais faire la chose suivante avec Automation (ou toute autre méthode
d'ailleurs, je veux que ça marche, c'est tout) :
- Ouvrir un fichier Word (par exemple C:\Test.doc)
- Paramètrer les marges d'impression à l'aide du code suivant :
With ActiveDocument.PageSetup
.TopMargin = CentimetersToPoints(2)
.BottomMargin = CentimetersToPoints(2)
.LeftMargin = CentimetersToPoints(2)
.RightMargin = CentimetersToPoints(2)
End With
- Imprimer
- Fermer le fichier
et ceci en arrière-plan, afin que l'utilisateur utilisant mon application
VB6 ne voit pas Word s'ouvrir et se fermer.
Toute documentation / information sur Automation dans VB6 pour Word est
bienvenue...
Merci d'avance,
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Picalausa
Hello,
tu peux essayer ceci: Dim WordApp As Object Dim WordDoc As Object
Set WordApp = CreateObject("Word.Application") WordApp.Visible = False Set WordDoc = WordApp.Documents.Open("c:...toto.doc")
With WordDoc.PageSetup .TopMargin = WordApp.CentimetersToPoints(2) .BottomMargin = WordApp.CentimetersToPoints(2) .LeftMargin = WordApp.CentimetersToPoints(2) .RightMargin = WordApp.CentimetersToPoints(2) End With
WordDoc.printout WordDoc.Close WordApp.quit
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Via" a écrit dans le message de news:ePKy7$
Bonjour à tous.
Après une matinée de tentatives infructueuses à base de plantages de VB voire du système... J'aimerais faire la chose suivante avec Automation (ou toute autre méthode d'ailleurs, je veux que ça marche, c'est tout) :
- Ouvrir un fichier Word (par exemple C:Test.doc) - Paramètrer les marges d'impression à l'aide du code suivant : With ActiveDocument.PageSetup .TopMargin = CentimetersToPoints(2) .BottomMargin = CentimetersToPoints(2) .LeftMargin = CentimetersToPoints(2) .RightMargin = CentimetersToPoints(2) End With - Imprimer - Fermer le fichier
et ceci en arrière-plan, afin que l'utilisateur utilisant mon application VB6 ne voit pas Word s'ouvrir et se fermer. Toute documentation / information sur Automation dans VB6 pour Word est bienvenue... Merci d'avance,
Via :)
Hello,
tu peux essayer ceci:
Dim WordApp As Object
Dim WordDoc As Object
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = False
Set WordDoc = WordApp.Documents.Open("c:...toto.doc")
With WordDoc.PageSetup
.TopMargin = WordApp.CentimetersToPoints(2)
.BottomMargin = WordApp.CentimetersToPoints(2)
.LeftMargin = WordApp.CentimetersToPoints(2)
.RightMargin = WordApp.CentimetersToPoints(2)
End With
WordDoc.printout
WordDoc.Close
WordApp.quit
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Via" <chew.baka@caramail.com> a écrit dans le message de
news:ePKy7$fUEHA.2972@TK2MSFTNGP12.phx.gbl
Bonjour à tous.
Après une matinée de tentatives infructueuses à base de plantages
de VB voire du système...
J'aimerais faire la chose suivante avec Automation (ou toute autre
méthode d'ailleurs, je veux que ça marche, c'est tout) :
- Ouvrir un fichier Word (par exemple C:Test.doc)
- Paramètrer les marges d'impression à l'aide du code suivant :
With ActiveDocument.PageSetup
.TopMargin = CentimetersToPoints(2)
.BottomMargin = CentimetersToPoints(2)
.LeftMargin = CentimetersToPoints(2)
.RightMargin = CentimetersToPoints(2)
End With
- Imprimer
- Fermer le fichier
et ceci en arrière-plan, afin que l'utilisateur utilisant mon
application VB6 ne voit pas Word s'ouvrir et se fermer.
Toute documentation / information sur Automation dans VB6 pour Word
est bienvenue...
Merci d'avance,
tu peux essayer ceci: Dim WordApp As Object Dim WordDoc As Object
Set WordApp = CreateObject("Word.Application") WordApp.Visible = False Set WordDoc = WordApp.Documents.Open("c:...toto.doc")
With WordDoc.PageSetup .TopMargin = WordApp.CentimetersToPoints(2) .BottomMargin = WordApp.CentimetersToPoints(2) .LeftMargin = WordApp.CentimetersToPoints(2) .RightMargin = WordApp.CentimetersToPoints(2) End With
WordDoc.printout WordDoc.Close WordApp.quit
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Via" a écrit dans le message de news:ePKy7$
Bonjour à tous.
Après une matinée de tentatives infructueuses à base de plantages de VB voire du système... J'aimerais faire la chose suivante avec Automation (ou toute autre méthode d'ailleurs, je veux que ça marche, c'est tout) :
- Ouvrir un fichier Word (par exemple C:Test.doc) - Paramètrer les marges d'impression à l'aide du code suivant : With ActiveDocument.PageSetup .TopMargin = CentimetersToPoints(2) .BottomMargin = CentimetersToPoints(2) .LeftMargin = CentimetersToPoints(2) .RightMargin = CentimetersToPoints(2) End With - Imprimer - Fermer le fichier
et ceci en arrière-plan, afin que l'utilisateur utilisant mon application VB6 ne voit pas Word s'ouvrir et se fermer. Toute documentation / information sur Automation dans VB6 pour Word est bienvenue... Merci d'avance,
Via :)
Via
Merci François ! Ca fonctionne parfaitement. Je joue donc maintenant à chercher la petite bête : j'ai deux boutons, l'un pour imprimer, pour lequel tu m'as donné la solution, et l'autre pour ouvrir Word et afficher le fichier toto.doc. Ton code fonctionne très bien dans le deuxième cas, sauf que Word "clignote" plusieurs fois, à chaque fois qu'on change une marge. Est-il donc possible de n'afficher Word qu'une fois que les modif's apportées soient faites ? Merci !
Via :)
"François Picalausa" a écrit dans le message de news:
Hello,
tu peux essayer ceci: Dim WordApp As Object Dim WordDoc As Object
Set WordApp = CreateObject("Word.Application") WordApp.Visible = False Set WordDoc = WordApp.Documents.Open("c:...toto.doc")
With WordDoc.PageSetup .TopMargin = WordApp.CentimetersToPoints(2) .BottomMargin = WordApp.CentimetersToPoints(2) .LeftMargin = WordApp.CentimetersToPoints(2) .RightMargin = WordApp.CentimetersToPoints(2) End With
WordDoc.printout WordDoc.Close WordApp.quit
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Via" a écrit dans le message de news:ePKy7$ > Bonjour à tous. > > Après une matinée de tentatives infructueuses à base de plantages > de VB voire du système... > J'aimerais faire la chose suivante avec Automation (ou toute autre > méthode d'ailleurs, je veux que ça marche, c'est tout) : > > - Ouvrir un fichier Word (par exemple C:Test.doc) > - Paramètrer les marges d'impression à l'aide du code suivant : > With ActiveDocument.PageSetup > .TopMargin = CentimetersToPoints(2) > .BottomMargin = CentimetersToPoints(2) > .LeftMargin = CentimetersToPoints(2) > .RightMargin = CentimetersToPoints(2) > End With > - Imprimer > - Fermer le fichier > > et ceci en arrière-plan, afin que l'utilisateur utilisant mon > application VB6 ne voit pas Word s'ouvrir et se fermer. > Toute documentation / information sur Automation dans VB6 pour Word > est bienvenue... > Merci d'avance, > > Via :)
Merci François ! Ca fonctionne parfaitement.
Je joue donc maintenant à chercher la petite bête : j'ai deux boutons,
l'un pour imprimer, pour lequel tu m'as donné la solution, et l'autre pour
ouvrir Word et afficher le fichier toto.doc.
Ton code fonctionne très bien dans le deuxième cas, sauf que Word "clignote"
plusieurs fois, à chaque fois qu'on change une marge. Est-il donc possible
de n'afficher Word qu'une fois que les modif's apportées soient faites ?
Merci !
Via :)
"François Picalausa" <fpicalausa@chez.com> a écrit dans le message de news:
OXOEeQgUEHA.3420@TK2MSFTNGP12.phx.gbl...
Hello,
tu peux essayer ceci:
Dim WordApp As Object
Dim WordDoc As Object
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = False
Set WordDoc = WordApp.Documents.Open("c:...toto.doc")
With WordDoc.PageSetup
.TopMargin = WordApp.CentimetersToPoints(2)
.BottomMargin = WordApp.CentimetersToPoints(2)
.LeftMargin = WordApp.CentimetersToPoints(2)
.RightMargin = WordApp.CentimetersToPoints(2)
End With
WordDoc.printout
WordDoc.Close
WordApp.quit
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Via" <chew.baka@caramail.com> a écrit dans le message de
news:ePKy7$fUEHA.2972@TK2MSFTNGP12.phx.gbl
> Bonjour à tous.
>
> Après une matinée de tentatives infructueuses à base de plantages
> de VB voire du système...
> J'aimerais faire la chose suivante avec Automation (ou toute autre
> méthode d'ailleurs, je veux que ça marche, c'est tout) :
>
> - Ouvrir un fichier Word (par exemple C:Test.doc)
> - Paramètrer les marges d'impression à l'aide du code suivant :
> With ActiveDocument.PageSetup
> .TopMargin = CentimetersToPoints(2)
> .BottomMargin = CentimetersToPoints(2)
> .LeftMargin = CentimetersToPoints(2)
> .RightMargin = CentimetersToPoints(2)
> End With
> - Imprimer
> - Fermer le fichier
>
> et ceci en arrière-plan, afin que l'utilisateur utilisant mon
> application VB6 ne voit pas Word s'ouvrir et se fermer.
> Toute documentation / information sur Automation dans VB6 pour Word
> est bienvenue...
> Merci d'avance,
>
> Via :)
Merci François ! Ca fonctionne parfaitement. Je joue donc maintenant à chercher la petite bête : j'ai deux boutons, l'un pour imprimer, pour lequel tu m'as donné la solution, et l'autre pour ouvrir Word et afficher le fichier toto.doc. Ton code fonctionne très bien dans le deuxième cas, sauf que Word "clignote" plusieurs fois, à chaque fois qu'on change une marge. Est-il donc possible de n'afficher Word qu'une fois que les modif's apportées soient faites ? Merci !
Via :)
"François Picalausa" a écrit dans le message de news:
Hello,
tu peux essayer ceci: Dim WordApp As Object Dim WordDoc As Object
Set WordApp = CreateObject("Word.Application") WordApp.Visible = False Set WordDoc = WordApp.Documents.Open("c:...toto.doc")
With WordDoc.PageSetup .TopMargin = WordApp.CentimetersToPoints(2) .BottomMargin = WordApp.CentimetersToPoints(2) .LeftMargin = WordApp.CentimetersToPoints(2) .RightMargin = WordApp.CentimetersToPoints(2) End With
WordDoc.printout WordDoc.Close WordApp.quit
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Via" a écrit dans le message de news:ePKy7$ > Bonjour à tous. > > Après une matinée de tentatives infructueuses à base de plantages > de VB voire du système... > J'aimerais faire la chose suivante avec Automation (ou toute autre > méthode d'ailleurs, je veux que ça marche, c'est tout) : > > - Ouvrir un fichier Word (par exemple C:Test.doc) > - Paramètrer les marges d'impression à l'aide du code suivant : > With ActiveDocument.PageSetup > .TopMargin = CentimetersToPoints(2) > .BottomMargin = CentimetersToPoints(2) > .LeftMargin = CentimetersToPoints(2) > .RightMargin = CentimetersToPoints(2) > End With > - Imprimer > - Fermer le fichier > > et ceci en arrière-plan, afin que l'utilisateur utilisant mon > application VB6 ne voit pas Word s'ouvrir et se fermer. > Toute documentation / information sur Automation dans VB6 pour Word > est bienvenue... > Merci d'avance, > > Via :)