人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VBからのLPR印刷

LPR印刷行うバッチを作成しましたが、
VBから起動して印刷されません。

コマンドから起動すれば正常に印刷されます。
バッチファイルを起動した場合も印刷されます。

VBソース
Shell ("lpr.bat")

ファイルの内容(ファイル名:

lpr.bat(実行ファイルと同フォルダに配置))
C:\Windows\System32\lpr.exe -S xxx.xxx.xxx.xxx -P printer -ol c:\test.html
※サーバ指定は自分のローカルマシーンを指定しております。

実行時にプロンプトを表示させたままにすると、
「'C:\Windows\System32\lpr.exe'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」
となります。

VBからlprを起動し、印刷したいのですが、何か方法はありませんでしょうか?

OS:Windows 7 Professional(64bit)
開発環境:sharpdevelop4.3

知識不足で申し訳ないですが、宜しくお願い致します。

●質問者: 匿名質問者
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号
ベストアンサー

64bit 版の Windows では、以下のディレクトリが存在します。

恐らく「lpr.exe」が 64bit 版アプリな為、32bit 版の VB のプログラムから「C:\Windows\System32\lpr.exe」 を呼び出したつもりでいても、実際は「C:\Windows\SysWOW64\lpr.exe」を探しに行き、「見つからない」というエラーになっているのだと推測されます。

<参考情報>
■ x64版Windows上でバッチファイルをx86起動する方法 - Kerosoft : Modus Operandi
http://mo.kerosoft.com/0153


匿名回答1号さんのコメント
32bit アプリから C:\Windows 配下の 64bit アプリを呼び出す場合は、 >|bat| C:\Windows\sysnative\lpr.exe ||< を指定することで、呼び出せるようです。 >> <参考情報> ■ 64bit Windows 上で 32bit アプリケーションから 64bit アプリケーションを実行する方法 - 日記のような何か http://d.hatena.ne.jp/learn/20110424/p1 <<

質問者から

ありがとうございます。
うまく出力することができました。

エスケープシーケンスが使えずに、
無理やりレイアウト調整していたので、
本当に助かりました。


関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ