• ベストアンサー

VB6でプリンタへの出力を検出したい

VB6で作成したアプリで、プリンタへの出力を検出したいと思っています。 作成したソフトを常駐させておき、対象とするアプリの種類を問わず、プリンタへの出力を検出したら強制的にプレビュー画面を表示させたいのです。 自分に具体的な実現方法が思いつかず、また検索しても似たような話題も見つからないので、VBでは不可能なのかと疑問に思っています。 このような開発を手掛けられた事のある方や、知識をお持ちの方がいらっしゃいましたら、ご助言いただきたいのですが、よろしくお願いいたします。 <開発環境> WinXP pro sp1 VB6.0 sp5

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

VBでは無理でしょう。 ドライバを作成することになると思います。

knkenkn
質問者

お礼

ご回答ありがとうございます。 やはり無理ですか。ドライバについて調べてみたいと思います。

その他の回答 (1)

  • kaha
  • ベストアンサー率23% (41/177)
回答No.2

> やはり無理ですか。 無理と思いますよ。メーカーの提供しているドライバーと同等以上のものを作ろうとしているようなものでしょう?

参考URL:
>
knkenkn
質問者

お礼

> メーカーの提供しているドライバーと同等以上のものを作ろうとしているようなものでしょう? 冷静に考えると、おっしゃるとおりです。実現可能な手段をいろいろと調べてみたいと思います。 ありがとうございました。

関連するQ&A

  • VBのフォームにWordを取り込み、指定のプリンターへ出力したい。

    環境:Windows2000+SP3 VB6+SP5 Word2000 VBのフォームにWordを取り込んで、そこで編集したものを 指定のプリンターへ出力しようと試みております。 現在OLEコントロールを用いて試しているのですが、上手く出来ません。 OLEで取り込んでるWORDにファイルメニューがあればいいのですが 何故かありません。そもそも無理なんでしょうか…(T.T) 参考になるような情報お待ちしておりますm(_ _)m

  • 出力するプリンタを指定したい。

    現在、VB6.0で開発を行い、帳票をACCESSのレポートを使用しています。 レポートを印刷した際に、VB側より指定したプリンタに出力したいのですが、決まって通常使うプリンタに出力されてしまいます。 プリンタは指定できない物なのでしょうか? ちなみに指定している方法は、デバイス名を記述し、設定されているプリンタを検索し、合うプリンタがあれば、その番号(?)を Set Printer = XXX(番号)          ↑忘れました、ごめんなさい。 と言うような形でコーディングしています。

  • VB6かVB.netか

    初歩的なことですが教えて下さい。 現在、VB6(SP5)で開発したアプリ(製品)があります。これはJet(Access2000)を使用したDBや自作のActiveXを使用して構築されております。今度この製品の改良を行う予定で、新規開発(但し使えるものは流用したい)を考えています。ここで使用する開発言語をVB6かVB.netのどちらにするべきか悩んでいます。世の中の流れが.netに進んでいる為.netで開発した方が良いとも思いますし、その反面VB6で開発したアプリが今後発売されるOSなどの環境で使用できなくならないのであれば使い慣れたVB6にしようかなとも思っていいます。何か良きアドバイスなどあれば教えて下さい。

  • VB6で回転文字を印刷

    こんにちわ。 今更ながら、VB6で業務アプリを開発しております。 文字列を回転(45度や270度など)させて印字する部分があり、 PictureBoxへの出力では問題無いのですが、プリンターに出力すると、 回転されず0度で印字されます。 今回はVB4からVB6へのアップグレードでして、VB4では問題無く動いているようなんです。 ちなみに、API:CreateFontIndirectを使用しています。 原因は何が考えられますでしょうか? 宜しくお願いします。

  • ActiveReportからドットプリンタの連続紙出力

    VB6を使用して、ActiveReportからドットプリンタで送り状を出力しようとしています。 送り状は路線便業者さんが使用されているようなものをイメージしていただければと思います。 用紙の都合上、連続紙から出力したいのですが、実行するとシートガイドから出力されてしまいます。 どうやらA4と認識されてしまっているようなのですが、どこを修正したら良いのか分かりません。 コードで指定しているものは下記になります。 With Me.Printer   .PaperSize = 256   .PaperWidth = 567 * 12.5   .PaperHeight = 567 * 6.4 End With Me.PageLeftMargin = 567 * 1.3 Me.PageRightMargin = 567 * 0.5 Me.PageTopMargin = 567 * 0.4 Me.PageBottomMargin = 567 * 0.4 プリンタ側の設定としては、上記規定のサイズの用紙(Aとします)を作成しておき、 ドットプリンタのプロパティから、デバイスの設定でフロントトラクタにAをセットしています。その他は使用しないと設定しました。 しかし、プログラムを実行させてプレビュー画面でプリンタのプロパティを見ると、 用紙サイズ:A4 給紙方法:シートガイド と戻ってしまっています。このプレビュー時にプロパティをフロントトラクタと、 用紙Aに変更すると正しく連続紙で出るのですが、毎回修正しなければならないのはどうしても避けたいと思います。 分かりづらい説明で大変恐縮ですが、お知恵をお貸しいただければと思います。 よろしくお願い致します。 ドットプリンタ:NEC MultiImpact 700LX2 開発PC:DELL LATITUDE D630 (WinXPPro SP3)

  • VB6で任意のNICからの出力

    開発環境:VB6.0(SPなし) + Windows XP SP3 FTPクライアントを作成しています。 レイアの異なる、2枚のNICが1つのPCにさしてあるとします。 ネットワークはLANでつながっていて、下記のような構成だとします。 例 NIC_A(192.168.100.100) NIC_B(192,168,80,100) FTPホスト HOAT_A(192.168.100.1) HOST_B(192.168.80.1) NIC_AからHOST_AにFTPのダウンロードをしたいのですが、方法がわかりません。 GetFtp()では、出力元のNICを指定できないことはわかっています。 出力元のNICを任意に指定できる方法をご教授ください。

  • Vbで通常使用するプリンターを変更するには

    Vb(VbA)を使用したアプリ側から通常使用するプリンターを変更して出力した後、基に戻すにはどのような手法を使えばよいのでしょうか?

  • VB5.0とVB6.0

    ご教授お願いします。 VB4.0で開発を始め、VB5.0に。主にDBはDAOを使っています。いくつかのアプリを配布し(セットアップウィザードを使い)、その後VB6.0がリリースされましたが、配布済みアプリに影響があると思いB6.0へのUpをあきらめていました。VB5.0は98でしか認められていず、2000でも試しましたが、確かに一部の動作でエラーが起こったりしました。使用しているマシンが不安定になったので、中古PCに98をインストールし、開発環境を移しましたが、セットアップウィザードが「予期せぬエラー」とかで動きませんでした。以上が経過です。 ようやくVB6.0を入手し、とりあえず2000で、2,3のアプリで試したところ、そのまま(何の手も加えず)OKでした。ちょっと気がついた点といえば、作成されたEXEのサイズが1割ほど小さくなっていました。 質問ですが、VB5.0→VB6.0では何が変わったのでしょうか?(当時はある程度読んだ気がしますが、覚えていません) そして、アップ後、注意しなければならないことは何でしょうか? よろしくお願いいたします。

  • VBからエクセル形式の出力はできますか?

    Visual Basic .NET (VB6でも可)を使用してCSV形式では出力できるのですが、xls形式で出力はできませんか。 セルの結合や、罫線処理といったエクセルの機能が使いたいのです。 調べて見ると[Visual Studio Tools for Office]というものがMicrosoftから販売されていますが、このツールを 使用しないことには作成は不可能なんでしょうか? ご存知の方がいらっしゃれば教えてください。 現在はVBAを使用していますが、.NETアプリとして作成して見たいと思ったので。 ・VBではできないがC#ではできる。なんて事があればその方法でも構いません。 Visual Studio .NET 2003 Professional

  • VB2005でのエクセルへのデータ出力

    タイトルどおりなのですが、DBからマスタのデータを単純にエクセルに出力するだけなのですが、どういったやり方が一番高速に処理できるのでしょうか? マスタのデータをデータテーブルに取得して、データテーブルをループさせながら、1レコードごとにエクセルに出力するようなやり方しか思いつかないのですが、もっと効率的で高速に処理できる方法があれば教えて下さい。 ちなみに、エクセルは新規ファイルではなく1行目にマスタのテーブルのカラム名を記述している既存ファイルのエクセルに出力していく形になります。 画面の動作としては、マスタメンテの画面にある「出力」ボタンをクリックすることで、ファイルダイアログを表示して保存先を決めたら、出力開始というイメージです。 できれば、サンプルコードなどあれば有難いです。 宜しく、お願いします。 開発環境: OS:WinXP SP2 DB:Oracle 10g(?)、すみません。バージョンまであってるかは不明です。 言語:VB2005Pro Excel:Excel2000