使用できるプリンター名を取得するには?

解決


スズ  2001-08-22 18:18:15  No: 74783

使用できるプリンター名を取得したいのですが・・・。
VBでは出来たのですが、COM(ActiveX)にした場合、
同じ処理を行えないのです。
For文でプリンターが見つけられていないようなのですが、
どうしたら良いのでしょうか?

Public Function print_p() As String
    Dim odjprn As Printer
    For Each objprn In Printers
        print_p = print_p + objprn.DeviceName + " "
    Next
End Function


Say  2001-08-22 21:54:15  No: 74784

VB起動して、Activexコントロール選択して、
UserControl1にList1おいて、

Private Sub UserControl_Initialize()
Dim odjprn As Printer
For Each objprn In Printers
List1.AddItem objprn.DeviceName
Next
End Sub

なんてコードかいて

Activex Control InterFace Wizard にかけたあと
ocxにして、参照設定して別の新規Formに
はりつけてみましたが、普通に表示されます。

問題はほかのところにあるような気がします。


すず  2001-08-22 22:59:41  No: 74785

ありがとうございました。
すいません。なにぶん始めたばかりで・・・。
えっと、ActiveXでも動くって事ですよね?
でも、そうすると原因がさっぱり分からないのですが・・・。
system32の中にプログラムを入れてるんですが、
入れてる場所が悪いとかなのでしょうか?


Say  2001-08-23 22:54:34  No: 74786

フォルダについては、参照設定できているのなら問題ないと思います。
ActiveXをどうやってつくったか?VBからどう利用しているか?が
わからないと、原因の推定はむずかしいです。


スズ  2001-08-24 18:27:10  No: 74787

いつも答えていただき、本当にありがとうございます。
おかげさまでプリンター名を取得できるようになりました。
原因としては、サーバーのプリンターの設定にありました。
ActiveXにすると印刷するCOMのユーザー(IISプロセス)に
対する権限をつけないと、印刷などは出来ないそうです。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加