Word の Visual FoxPro からの OLE オートメーションを使用して両面を印刷する方法

文書翻訳 文書翻訳
文書番号: 194306 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

この資料で Microsoft Word 97 の Windows 用に Visual FoxPro からの OLE オートメーションを使用して、文書の両面を印刷する方法について説明します。

詳細

両面印刷を設定するダイアログ ボックスは、プリンターのセットアップの一部であるためにが直接コマンドを発行できますドキュメント印刷の両面を原因となります。 ただし、文書の両面を印刷する操作の 3 つの方法があります。

このテストで使用されるプリンターが両面印刷をサポートする、ヒューレット ・ パッカード社の LaserJet プリンターです。

方法 1

プリンター エスケープ コードをプリンターが両面印刷モードを送信するのにには、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) Word 97/98年ののみ機能します。 Word 97/98年の以前のバージョンは、このコードを使用していない両面印刷を行います。

含まれて、正しく印刷する Word 文書、いてはいけませんヘッダーまたはフッター各ページにします。 ただし、その必要があります二重場合印刷ドキュメントがある別のセットアップ先頭ページのヘッダーまたはフッターのみと PRINT フィールドとして、最初の行、キャリッジ リターンの後に、ヘッダーに挿入されます。

方法 2

使用して、"SendKeys/キー送信"コマンドを送信キーストローク 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() コマンドは、Visual FoxPro for Windows の終了を処理する前に、キーストロークを処理するを使用できます。 これは、上、下、または削除、アプリケーションに応じて調整必要可能性があります。

Sendkeys を使用して、Word が表示される、最小化されず、キーストロークをアクティブなウィンドウに移動する必要がありますので必要があります。 コマンドを使って移動 (アプリケーション)、Word が表示されないが、ダイアログ ボックスがまだ表示できるように Word 画面から移動できます。 また、Sendkeys を使用して disconcerting ためには、メニューとダイアログ ボックスを開くおよび 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
				
メモ は"SendKeys/キー送信"を使用して発生する問題についてのメモ方法 2 を参照するしてください。

関連情報

についてには、記事の「サポート技術情報」(Microsoft Knowledge Base) を表示する次の資料番号をクリックしてします。
135569[印刷] フィールドで使用する PCL エスケープ コード
Word の Windows 97 Service Release 1 の入手方法については、クリック次資料、資料の「サポート技術情報」(Microsoft Knowledge Base) を表示します。
172475入手して、MS Office 97 SR-1 をインストールする方法
Microsoft Word の Visual Basic のヘルプ

(c) マイクロソフト コーポレーション 1998。 All rights reserved。 Dean クリストファー、マイクロソフト株式会社を投稿します。

プロパティ

文書番号: 194306 - 最終更新日: 2005年1月27日 - リビジョン: 2.2
この資料は以下の製品について記述したものです。
  • Microsoft Visual FoxPro 5.0a
  • Microsoft Visual FoxPro 6.0 Professional Edition
キーワード:?
kbhowto kbcode kbmt KB194306 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:194306
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

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