Salut à tous,
mon PB est que je n'arrive pas à imprimer entierement mon controle
RichTextBox.
Impossible de dépasser les 3/4 d'une page à l'impression même si mon texte
fait 2 ou 3 pages.
Je crois avoir tout essayé, si quelqu'un peut me guider.
Dois-je utiliser Word au moment de l'impression.....la mise en page...Pfff
et comment?
Sans votre aide mon programme restera au placard.
Merçi d'avance pour la plus petite aide soit'elle.
Mais comment fait Word
Bruno
Peux-tu visualiser par exemple dans un textBox ta sélection, vois si c'est bien sélectionné... Autre piste, le texte qui enverrait lui-même des infos que l'imprimante exécuterait??? Tu peux tester en ascii la fin de la coupure pour voir si tout est normal... ---------
"Youky" a écrit dans le message de news: 41ea9c30$0$8035$
Re:Bonsoir François, J'ai fais exactement comme tu l'as indiqué, hélas mon imprimante n'est pas virtuelle. Sans le printer.print et le printer.enddoc rien ne se passe, donc j'ai remis ces 2 lignes et à l'impression arret à Ligne40. je parle pas assez l'Anglais pour le site indiqué. Je tourne avec VB5 et Word2000 et Win 98SE et Acrobat reader en lecture Merçi encore pour tes renseignements Bruno "François Picalausa" a écrit dans le message news: OP4bgD##
Hello,
Pour l'impression, j'ai utilisé deux imprimantes virtuelles différentes: - PDF Creator http://sourceforge.net/projects/pdfcreator/ - Microsoft Office Document Image Writer (fournit avec Microsoft Office 2003)
Voici mon code complet: 'Une form avec ' - un command button (Command1), pour l'impression ' - Un richtextbox RichTextBox1 'Toutes les propriétés par défaut, si ce n'est le caption de Command1 >> "Imprimer" Option Explicit
Private Sub Command1_Click() Debug.Print Printer.DeviceName RichTextBox1.SelLength = 0 RichTextBox1.SelPrint Printer.hDC End Sub
Private Sub Form_Load() Dim i As Long
'On va imprimer quelques 300 lignes dans le RTB '4 pages RichTextBox1.Text = ""
For i = 1 To 300 AddLine "Ligne " & i Next i End Sub
Private Sub AddLine(Text As String)
'Affreux bidouillage pour déterminer (dépasser) la longueur RichTextBox1.SelStart = LenB(RichTextBox1.TextRTF)
'Ajout de la ligne RichTextBox1.SelText = Text & vbCrLf End Sub
Vu que ce code fonctionne ici, la seule chose qui pourrait, à mon sens, poser problème sont les lignes : Printer.Print "" Printer.EndDoc
Cette dernière ligne génère une erreur avec Microsoft Office Document
Image
Writer (non testé avec PDF Creator)... donc pourrait avec un autre pilote d'imprimante poser problème, je suppose... mais ce n'est qu'une
supposition!
Quand a savoir pourquoi la ligne 40, je n'en sais trop rien....
Il y a bien une autre différence dans ton code: l'utilisation de chr(10)
au
lieu du 13 et 10 (vbLf au lieu de vbCrLf), mais le problème ne semble pas venir de là car dans mon code, quand j'utise vbLf, je ne constate pas de problèmes...
-- François Picalausa
"Youky" a écrit dans le message de news: 41ea7320$0$6416$ > L'impression s'arrête à la ligne 40, Pkoi ? > pour vous guider voici qlq lignes > j'ai fais un RichTextbox nommé txt et est fait 2 boutons > le 1er écrit de 1 à 50 et le second imprime > à savoir j'ai mis les propriété font de mon txt Time new Roman > taille 12 de plus testé sur 3 PC donc c'est pas un PB de PC > voici mon adresse Email si vous souhaitez m'envoyer un fichier pour me > prouver que cela marche. > > > Private Sub Command1_Click() > For k = 1 To 50 > txt.Text = txt.Text & k & Chr(10) > Next > End Sub > > Private Sub Command2_Click() > Printer.Print "" > txt.SelStart = 0 > txt.SelLength = 0 'Len(ActiveForm.txt.Text) > txt.SelPrint (Printer.hDC) > Printer.EndDoc > End Sub
Salut,
Peux-tu visualiser par exemple dans un textBox ta sélection, vois si
c'est bien sélectionné...
Autre piste, le texte qui enverrait lui-même des infos que l'imprimante
exécuterait??? Tu peux tester en ascii la fin de la coupure pour voir si
tout est normal...
---------
"Youky" <jeune.bruno@wanadoo.fr> a écrit dans le message de news:
41ea9c30$0$8035$8fcfb975@news.wanadoo.fr...
Re:Bonsoir François,
J'ai fais exactement comme tu l'as indiqué, hélas mon imprimante n'est pas
virtuelle.
Sans le printer.print et le printer.enddoc rien ne se passe, donc j'ai
remis
ces 2 lignes et
à l'impression arret à Ligne40.
je parle pas assez l'Anglais pour le site indiqué.
Je tourne avec VB5 et Word2000 et Win 98SE et Acrobat reader en lecture
Merçi encore pour tes renseignements Bruno
"François Picalausa" <fpicalausa@chez.com> a écrit dans le message news:
OP4bgD##EHA.3472@TK2MSFTNGP14.phx.gbl...
Hello,
Pour l'impression, j'ai utilisé deux imprimantes virtuelles différentes:
- PDF Creator
http://sourceforge.net/projects/pdfcreator/
- Microsoft Office Document Image Writer
(fournit avec Microsoft Office 2003)
Voici mon code complet:
'Une form avec
' - un command button (Command1), pour l'impression
' - Un richtextbox RichTextBox1
'Toutes les propriétés par défaut, si ce n'est le caption de Command1 >> "Imprimer"
Option Explicit
Private Sub Command1_Click()
Debug.Print Printer.DeviceName
RichTextBox1.SelLength = 0
RichTextBox1.SelPrint Printer.hDC
End Sub
Private Sub Form_Load()
Dim i As Long
'On va imprimer quelques 300 lignes dans le RTB
'4 pages
RichTextBox1.Text = ""
For i = 1 To 300
AddLine "Ligne " & i
Next i
End Sub
Private Sub AddLine(Text As String)
'Affreux bidouillage pour déterminer (dépasser) la longueur
RichTextBox1.SelStart = LenB(RichTextBox1.TextRTF)
'Ajout de la ligne
RichTextBox1.SelText = Text & vbCrLf
End Sub
Vu que ce code fonctionne ici, la seule chose qui pourrait, à mon sens,
poser problème sont les lignes :
Printer.Print ""
Printer.EndDoc
Cette dernière ligne génère une erreur avec Microsoft Office Document
Image
Writer (non testé avec PDF Creator)... donc pourrait avec un autre pilote
d'imprimante poser problème, je suppose... mais ce n'est qu'une
supposition!
Quand a savoir pourquoi la ligne 40, je n'en sais trop rien....
Il y a bien une autre différence dans ton code: l'utilisation de chr(10)
au
lieu du 13 et 10 (vbLf au lieu de vbCrLf), mais le problème ne semble pas
venir de là car dans mon code, quand j'utise vbLf, je ne constate pas de
problèmes...
--
François Picalausa
"Youky" <jeune.bruno@wanadoo.fr> a écrit dans le message de news:
41ea7320$0$6416$8fcfb975@news.wanadoo.fr
> L'impression s'arrête à la ligne 40, Pkoi ?
> pour vous guider voici qlq lignes
> j'ai fais un RichTextbox nommé txt et est fait 2 boutons
> le 1er écrit de 1 à 50 et le second imprime
> à savoir j'ai mis les propriété font de mon txt Time new Roman
> taille 12 de plus testé sur 3 PC donc c'est pas un PB de PC
> voici mon adresse Email si vous souhaitez m'envoyer un fichier pour me
> prouver que cela marche.
> bruno.jeune@wanadoo.fr
>
> Private Sub Command1_Click()
> For k = 1 To 50
> txt.Text = txt.Text & k & Chr(10)
> Next
> End Sub
>
> Private Sub Command2_Click()
> Printer.Print ""
> txt.SelStart = 0
> txt.SelLength = 0 'Len(ActiveForm.txt.Text)
> txt.SelPrint (Printer.hDC)
> Printer.EndDoc
> End Sub
Peux-tu visualiser par exemple dans un textBox ta sélection, vois si c'est bien sélectionné... Autre piste, le texte qui enverrait lui-même des infos que l'imprimante exécuterait??? Tu peux tester en ascii la fin de la coupure pour voir si tout est normal... ---------
"Youky" a écrit dans le message de news: 41ea9c30$0$8035$
Re:Bonsoir François, J'ai fais exactement comme tu l'as indiqué, hélas mon imprimante n'est pas virtuelle. Sans le printer.print et le printer.enddoc rien ne se passe, donc j'ai remis ces 2 lignes et à l'impression arret à Ligne40. je parle pas assez l'Anglais pour le site indiqué. Je tourne avec VB5 et Word2000 et Win 98SE et Acrobat reader en lecture Merçi encore pour tes renseignements Bruno "François Picalausa" a écrit dans le message news: OP4bgD##
Hello,
Pour l'impression, j'ai utilisé deux imprimantes virtuelles différentes: - PDF Creator http://sourceforge.net/projects/pdfcreator/ - Microsoft Office Document Image Writer (fournit avec Microsoft Office 2003)
Voici mon code complet: 'Une form avec ' - un command button (Command1), pour l'impression ' - Un richtextbox RichTextBox1 'Toutes les propriétés par défaut, si ce n'est le caption de Command1 >> "Imprimer" Option Explicit
Private Sub Command1_Click() Debug.Print Printer.DeviceName RichTextBox1.SelLength = 0 RichTextBox1.SelPrint Printer.hDC End Sub
Private Sub Form_Load() Dim i As Long
'On va imprimer quelques 300 lignes dans le RTB '4 pages RichTextBox1.Text = ""
For i = 1 To 300 AddLine "Ligne " & i Next i End Sub
Private Sub AddLine(Text As String)
'Affreux bidouillage pour déterminer (dépasser) la longueur RichTextBox1.SelStart = LenB(RichTextBox1.TextRTF)
'Ajout de la ligne RichTextBox1.SelText = Text & vbCrLf End Sub
Vu que ce code fonctionne ici, la seule chose qui pourrait, à mon sens, poser problème sont les lignes : Printer.Print "" Printer.EndDoc
Cette dernière ligne génère une erreur avec Microsoft Office Document
Image
Writer (non testé avec PDF Creator)... donc pourrait avec un autre pilote d'imprimante poser problème, je suppose... mais ce n'est qu'une
supposition!
Quand a savoir pourquoi la ligne 40, je n'en sais trop rien....
Il y a bien une autre différence dans ton code: l'utilisation de chr(10)
au
lieu du 13 et 10 (vbLf au lieu de vbCrLf), mais le problème ne semble pas venir de là car dans mon code, quand j'utise vbLf, je ne constate pas de problèmes...
-- François Picalausa
"Youky" a écrit dans le message de news: 41ea7320$0$6416$ > L'impression s'arrête à la ligne 40, Pkoi ? > pour vous guider voici qlq lignes > j'ai fais un RichTextbox nommé txt et est fait 2 boutons > le 1er écrit de 1 à 50 et le second imprime > à savoir j'ai mis les propriété font de mon txt Time new Roman > taille 12 de plus testé sur 3 PC donc c'est pas un PB de PC > voici mon adresse Email si vous souhaitez m'envoyer un fichier pour me > prouver que cela marche. > > > Private Sub Command1_Click() > For k = 1 To 50 > txt.Text = txt.Text & k & Chr(10) > Next > End Sub > > Private Sub Command2_Click() > Printer.Print "" > txt.SelStart = 0 > txt.SelLength = 0 'Len(ActiveForm.txt.Text) > txt.SelPrint (Printer.hDC) > Printer.EndDoc > End Sub