2016-11-28 6 views
0

J'utilise EDRAW pour parcourir un document Microsoft Word et peut être Print , Preview , ETC... Et j'ai l'intention d'ajouter quelques fonctionnalités. J'ajoute 2 boutons pour Print Short (8.5 by 11 inches) et Print Long (8.5 by 13 inches) et j'ai 2 imprimantes pour long et court. Comment définir les propriétés des imprimantes dans chaque bouton? Si je clique sur le bouton court, j'imprimerai court en utilisant l'imprimante 1 comme le bouton long mais il est dans l'imprimante 2.Comment définir les propriétés de l'imprimante à l'aide de vb.net

Je suis le code dans le lien fourni ci-dessus.

Quelqu'un a une idée à ce sujet? Toute suggestion aide bien et sera bien acceptée. Merci .. Vive .. Je donnerai 50 bounty à après deux jours ..

Code, demande @Hadi

Voici mon code bouton pour l'impression.

Private Sub btnPrint_Click(sender As System.Object, e As System.EventArgs) Handles btnPrint.Click 
    AxEDOffice1.SetActivePrinter("Printer Name") 
    AxEDOffice1.ActiveDocument.PageSetup.PaperSize = Microsoft.Office.Interop.Word.WdPaperSize.wdPaperA4 
    AxEDOffice1.PrintDialog() 
End Sub 

et obtenir une erreur variable objet ou variable bloc fixent pas dans le code de ligne de AxEDOffice1.ActiveDocument.PageSetup.PaperSize = Microsoft.Office.Interop.Word.WdPaperSize.wdPaperA4

+1

VB.NET ne vba - s'il vous plaît lire le texte de l'étiquette et de supprimer celui qui ne laissera – Plutonix

+0

@Plutonix désolé à ce sujet. – KiRa

+0

Copie possible de [Comment régler la taille de la page MS Word via l'API d'automatisation?] (Http://stackoverflow.com/questions/12620003/how-to-set-ms-word-page-size-via-the-automation -api) –

Répondre

1

après vérification de la bibliothèque tout ce que vous avez à faire est d'utiliser SetActivePrinter méthode pour changer votre imprimante par défaut comme ce qui suit:

AxEDOffice1.SetActivePrinter("Adobe PDF") 

Et changer PaperSize vous devez utiliser les éléments suivants

AxEDOffice1.ActiveDocument.PageSetup.PaperSize = Microsoft.Office.Interop.Word.WdPaperSize.wdPaperA4 

AxEDOffice1.ActiveDocument est une instance de Microsoft.Office.Interop.Word.WordDocumentClass

Le code l'a testé et il fonctionne correctement.

EDIT 1:

variable objet ou variable bloc non mis

En savoir plus à ce sujet sur cette MSDN article il y a beaucoup de suggestions.

EDIT 2:

Pour imprimer votre document directement sans montrer PrintDialog vous devez utiliser la fonction PrintOut.

AxEDOffice1.PrintOut(EDOfficeLib.WdPrintOutRange.wdPrintAllDocument) 
+0

J'ai reçu une erreur .. La valeur de type Boolean ne peut pas être convertie en System.Windows.Form.PrintDialog – KiRa

+0

J'ai eu cette erreur "Variable d'objet ou Avec la variable de bloc non définie." dans la taille de papier – KiRa

+0

vous toujours là? .. Vous êtes celui qui a presque eu mon problème :( – KiRa