この VB6 アプリケーションでは、ユーザーの既定のプリンターがMicrosoft Office Document Image Writerに設定されている場合、次のコード行により、アプリケーションはエラー番号 380 (無効なプロパティ値) をスローします。
Printer.Orientation = vbPRORLandscape
この行の動作に慣れていない場合は、横向きモードで提供されているものをすべて印刷するようにユーザーのデフォルト プリンターが設定されていることを確認し、横向きの寸法 (高さ/幅) を (プリンターで) 提供します。オブジェクト) したがって、次のコードは、ページ上のアイテム配置座標を適切にベースにすることができます。
私はゴーグルしてみましたが、これは MODIW ドライバーから一般的に受け入れられている (そして不満を持っている) 「欠落している機能」のようです。たとえば、このスレッドを参照してください。ユーザーに Windows プリンター設定ウィンドウを表示する (おそらくオプションで横向きを選択するように指示した後) か、プリンターが MODIW かどうかを確認し、横向きにする必要があるドキュメントをユーザーが生成できないようにするなど、いくつかの回避策がありました。モード。DEVMODE と呼ばれるものに関する別の提案がありましたが、私はこの提案を理解できず、適切な例も見つけられず、それが機能することを確認した人も見つけませんでした。
私はちょっと頭がおかしいです。物理プリンターでは、この行に問題はありません。Microsoft XPS Document Writer と私が試したさまざまな PDF プリンターでさえ、この行に問題はありません。素晴らしい VB6 開発者が、Microsoft Office Document Image Writer ドライバーを使用して向きを変更する、以前は文書化されていなかった方法を発見したことを期待して、これをここに投げ出します。