Как заставить Word двухсторонней печати с помощью автоматизации OLE из Visual FoxPro

Переводы статьи Переводы статьи
Код статьи: 194306 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье описывается использование автоматизации OLE из Visual FoxPro для Microsoft Word для Windows 97 в документе двухсторонней печати.

Дополнительная информация

Начиная с диалоговым окном, устанавливающий двусторонней печати является частью принтера установки, не является прямым команда, которая может выдавать, приводит к документ для печати дуплекс. Тем не менее существует три способа, которые работают позволяет печатать документы дуплекс.

Принтер, используемый в этом тесте является принтеров Hewlett-Packard LaserJet, который поддерживает двустороннюю печать.

Способ 1

Использовать для отправки принтера escape-код, который помещает поле печати в Word принтер в полудуплексном режиме. Это показано в следующем коде:
   oWord=CREATEOBJECT("Word.Application")
   WITH oWord
      .Visible=.T.
      .Documents.Add

      .Activewindow.View.ShowFieldCodes=0   && Don't view field codes.
      * Insert PRINT field & Hewlett-Packard escape code for duplex, long-
      * edge binding.
      * It is an ampersand, lower-case L, numeric 1, and upper-case S.
      .Selection.Fields.Add(.Selection.Range,-1,"PRINT 27 &l1S")
      .Selection.Moveright

      .Selection.Insertafter("Page 1")
      .Selection.Moveright

      odlog=oWord.Dialogs(159) && Insert page break w/ Dialogs collection.
      odlog.Execute

      .Selection.Insertafter("Page 2")
      .Selection.Moveright

      .Printout(0)                   && 0 turns off background printing.

      .Application.Quit(0)           && Quit, don't save & don't prompt.
   ENDWITH
				
Этот код не работает, если документ Word содержит смешанные ориентации Это разделы книжная и Альбомная.

Примечание Этот код работает только с помощью исправлений-1 (SR-1) для Microsoft Word 97. Предыдущие версии Microsoft Word 97 не не двустороннюю печать, с помощью следующего кода.

Для документа Microsoft Word для правильной печати следует содержит заголовки или нижние колонтитулы на каждой странице. Тем не менее он должен двухсторонней печати если документ программу установки, чтобы установить другой первой страницы в верхний или нижний колонтитул только и печать Чтобы вставить поле в первой строке заголовка каретки Возврат.

Способ 2

Команда SendKeys для отправки нажатия клавиш в Microsoft Word, который имитирует использование сочетания клавиш для открытия диалогового окна «Печать».
   oWord=CREATEOBJECT("Word.Application")
   WITH oWord
      .Visible=.T.
      .Documents.Add

      * This code creates a two page document to print.
      .Selection.Insertafter("Page 1 - With SendKeys")
      .Selection.Moveright
      odlog=oWord.Dialogs(159) && Insert page break w/ Dialogs collection.
      odlog.Execute
      .Selection.Insertafter("Page 2 - With SendKeys")
      .Selection.Moveright
      * End of document creation.

      .Application.Activate
      .Wordbasic.Sendkeys("%fp%p%d{enter}{tab}{enter}", -1)
      =INKEY(2)   && May need to wait couple seconds before quitting.
      .Application.Quit(0)           && Quit, don't save & don't prompt.
   ENDWITH
				
В команде Sendkeys знак % представляет ALT с помощью ключа доступа Меню Windows. Команда INKEY() позволяет обработки нажатий клавиш в Word Прежде чем Visual FoxPro для процессов Windows Quit. Это может быть необходимо Скорректированная вверх, вниз или удаляются в зависимости от приложения.

Использование Sendkeys слова должны быть видимыми, не сворачивается, с момента нажатия клавиш необходимо перейти к активному окну. Microsoft Word можно переместить за пределы экрана с помощью Команда AppMove, таким образом, чтобы Word не отображается, но по-прежнему диалоговое Отображение. Кроме того, может сбить с помощью Sendkeys поскольку меню и Открытие диалоговых окон и обработки в Microsoft Word, и нажатие клавиши ALT + F клавиши, чтобы открыть меню файл.

Способ 3

Создание макроса Word, который выдает Sendkeys. Если имя макроса SendKey, затем запустить макрос из Visual FoxPro, используя следующую команду:
     oWord=CREATEOBJECT("Word.Application")
       WITH oWord
       .Visible=.T.
       .Documents.Add
       .Application.Activate
       .Run("SendKey")
       .Application.Quit(0)           && Quit, don't save & don't prompt.
    ENDWITH
				
Минимальный код макроса Word для отправки ключей для двусторонней печати выглядит следующим образом:
   Sub SendKey()
      SendKeys "%fp%p%d{enter}{tab}{enter}"
   End Sub
				
Примечание Пожалуйста, ознакомьтесь в способе 2 для возможных проблем с помощью SendKeys.

Ссылки

Для получения дополнительных сведений щелкните следующие номера статей базы знаний Майкрософт:
135569PCL управляющие коды для использования с поля PRINT
Для получения дополнительных сведений о получении исправлений Microsoft Word для Windows 97 1 щелкните следующий номер статьи базы знаний Майкрософт:
172475Получение и установка MS Office 97 SR-1
Microsoft Word справки Visual Basic

(c) Корпорация Майкрософт, 1998. Все права защищены. Взносы, Дин Кристофер, Корпорация Майкрософт.

Свойства

Код статьи: 194306 - Последний отзыв: 4 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual FoxPro 6.0 Professional Edition
Ключевые слова: 
kbcode kbhowto kbmt KB194306 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:194306

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com