2014-10-15 2 views
0

Прошло много времени с любого типа кодирования. Мне было поручено отправить тестовую страницу (похожую на страницу старого тестового шаблона телевизора) на все наши принтеры до начала смены. Эти страницы помогут нашей команде определить, есть ли какие-либо физические проблемы с принтерами (плохой тонер, фьюзер и т. Д.). Я нашел этот код и использовал его в VBA (MS Word).Преобразование диалогового окна слова в VB

Sub Sorterprint01() 
Dim sPrinter As String 
Dim sPrinter1 As String 
With Dialogs(wdDialogFilePrintSetup) 
sPrinter = .Printer 
.Printer = "\\dc999nt09\USPRT_01" 
.DoNotSetAsSysDefault = True 
.Execute 
Application.PrintOut FileName = "\\dc999file\share\7yr\Support\IS_TEAM_LOCAL\TEST SHEETS\BARCODE TEST SORTER01.docx" 
.Printer = sPrinter 
.Execute 
End With 

End Sub 

Я даже создал форму для печати всем или только конкретному принтеру.
Управление НЕ хочет этого в слове doc и предпочло бы иметь это в приложении VB (даже лучше было бы на веб-сайте). После обширных исследований я обнаружил, что wdDialogFilePrintSetup является диалогом на основе WORD и не работает в VB6/2008/2013). Я просто возвращаюсь к кодированию и нуждаюсь в быстром решении.

ответ

0

Использование Автоматизация. Если вы хотите распечатать файлы docx, вам понадобится слово.

Set word = CreateObject("Word.Application") 

With Word.dialogs(wdDialogFilePrintSetup) 

и т.д. Просто предварить свои объекты с word..

Если вы используете VBScript (который не может получить доступ к константам - и не может VB6, если вы не добавляете Word в качестве ссылки), вам нужно указать фактическое число, равное wdDialogFilePrintSetup.

Так

With Word.dialogs(97)