ご存じの方がおられましたら教えていただきたいのですが・・・
当方、VB6(SP6)でアプリを作成し印刷機能も作りました。
以前はWin2000からプリンタサーバー(Win2000につながっているプリンタ)に対してネットワーク印刷を行っていました。APIを使用して用紙方向等変更できてました。簡単な処理の流れとしては、
(1)現在選択されているプリンタの情報を取得し記憶しておく。
(2)用紙方向等の変更
(3)印刷
(4)記憶しておいた内容にプリンタを戻す
と言う具合です。
ところが、社内環境がかわり、WinXPからプリンタサーバー(WinXPにつながったプリンタ)に対して上記の処理を行うとエラーが出力されます。
調べたところ、始めにOpenPrinter関数を呼んでいるのですがこの時点で戻り値が0(関数が失敗)が帰ってきています。
ソースは以下のような感じです(一部抜粋)
' 標準的な権利を要求することを示す定数の宣言
Public Const STANDARD_RIGHTS_REQUIRED = &HF0000
' プリンタアクセス権の管理者権限を示す定数の宣言
Public Const PRINTER_ACCESS_ADMINISTER = &H4&
' プリンタアクセス権のユーザー権限を示す定数の宣言
Public Const PRINTER_ACCESS_USE = &H8&
' プリンタアクセス権すべての権限を示す定数の宣言
Public Const PRINTER_ALL_ACCESS = _
(STANDARD_RIGHTS_REQUIRED Or _
PRINTER_ACCESS_ADMINISTER Or _
PRINTER_ACCESS_USE)
' プリンタのオブジェクトハンドルを取得する関数の宣言
Declare Function OpenPrinter Lib "winspool.drv" _
Alias "OpenPrinterA" _
(ByVal pPrinterName As String, _
phPrinter As Long, _
pDefault As Any) As Long
'****************************************************
'↓処理
' プリンタ名を指定
strPrinterDeviceName = Printer.DeviceName
' プリンタアクセス権を指定
With udtPrinterDefaults
.DesiredAccess = PRINTER_ALL_ACCESS
End With
' プリンタのオブジェクトハンドルを取得
lngWin32apiResultCode = OpenPrinter(strPrinterDeviceName, lngPrinterHandle, udtPrinterDefaults)
↑
この変数の戻り値が0
試しに色々やってみました。
(1)WinXPからプリンタサーバー(OS:WinXP) ×
(2)WinXPからプリンタサーバー(OS:Win2000) ○
(3)プリンタサーバー(OS:WinXP)にアプリを ○
インストール後印刷
※ローカルプリンタに対する印刷
うまくいかないのはプリンタサーバーがWinXPの時のみエラーが
出てしまうようです。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
先日xpのsp2でファイアウォールを開放していなかったために
共有(していると思った)フォルダにアクセスできなかった
素人のばか者ですので、アイディアがあるわけではないですが
xpのバージョンと
ファイルを共有させたり、
ファイアウォールを開放したり、
ウィルスソフトが邪魔をしないようにしたり、
その類のことでやったこと、
やっていないことを教えていただくことは可能でしょうか?
この回答への補足
回答有り難うございます。
OSはクライアント、サーバー共にWinXp Home Edition Sp2です。
ファイル及びプリンタは共有済みです。
ファイアウォールはXpの標準は無効にしてあり、ソースネクスト社製のウイルスセキュリティのファイアウォールを使っています。
ウイルスセキュリティのファイアウォールを無効にしてみたのですが状況は同じでした。
宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- プリンタ・スキャナー エプソンのプリンタEP-879AWを使っていますが印刷文字がぼやけます。 家電量販店で写真印刷がメイ 4 2022/03/26 23:20
- プリンタ・スキャナー 佐川急便のプリンターで印刷用の送り状が印刷時に詰まる 2 2022/11/23 18:25
- プリンタ・スキャナー プリンタを無線化したい 7 2023/04/08 06:25
- プリンタ・スキャナー もともとWi-Fi仕様ではないプリンタを、Wi-Fi経由で印刷できるようにできますか。 6 2022/06/24 21:32
- Word(ワード) Word文書のドラッグ操作による配置調整。 1 2022/10/16 19:24
- プリンタ・スキャナー 印刷 キャンセル&印刷できない 2 2022/11/29 16:45
- プリンタ・スキャナー もともとWi-Fi仕様ではないプリンタの背面USB端子に挿すとWi-Fi経由で印刷できるドングル 6 2022/07/01 21:51
- PowerPoint(パワーポイント) パワーポイントモバイル 印刷時に詳細設定をしたい 2 2022/05/16 16:34
- プリンタ・スキャナー ブラザ-製プリンタ-DCP-J582N不具合改善アドバイス依頼 2 2022/10/17 15:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
印刷ダイアログを表示させない方法
-
プログラムからプリンタジョブ...
-
ACCESSで設定した帳票の用紙サ...
-
IEブラウザの印刷機能を使え...
-
マクロの修正方法の質問です。
-
プリンターを指定して印刷するには
-
VBAで印刷スプール終了の判定を...
-
連続印刷中のMsgBox
-
cプログラムを読んでいると put...
-
印刷ダイアログを表示させたくない
-
vbaでPDFファイルが印刷されない
-
リッチテキストファイルの印刷
-
webページの印刷制限について
-
VBSでExcelファイル印刷時のプ...
-
VBscriptでPDFファイルを直接印...
-
VB6からACCESSのレポートを印...
-
PHPからVBで作った文書印刷処理...
-
Accessフォームで全レコードを...
-
スプレッド(Spread 6) で縮小...
-
イベントプロシージャ 印刷が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
印刷ダイアログを表示させない方法
-
印刷要求順番と印刷出力順番が...
-
ACCESSで設定した帳票の用紙サ...
-
vbaでPDFファイルが印刷されない
-
プリンターを指定して印刷するには
-
印刷ダイアログを表示させたくない
-
VBAで不特定枚数印刷をしたいで...
-
VBAにて指定したセルをプルダウ...
-
VB.NET+ActiveReports で印刷...
-
ActiveReportsを使って[印刷ダ...
-
VBscriptでPDFファイルを直接印...
-
PDFファイルを印刷し終了するには
-
webページの印刷制限について
-
イベントプロシージャ 印刷が...
-
クリレポのプリンタ設定について
-
両面印刷設定方法について
-
ファイルのパス指定での印刷方法
-
Accessフォームで全レコードを...
-
VBSでExcelファイル印刷時のプ...
-
VBAで印刷スプール終了の判定を...
おすすめ情報