現在、PDFの印刷をAcrobatを利用しないで行うプログラムをVB6.0で作成しようとしています。

ActiveXコントロールを使い、PDFファイルを印刷しようと思うのですが、わかりやすいサンプル等あれば教えていただけませんか。
あと、ActiveXコントロールについてはドキュメントがないみたいなので、何を参考にすればいいのかわかりません。
なにか、参考になることがあったら教えていただきたいのですが・・

以上
よろしくお願いします。

このQ&Aに関連する最新のQ&A

印刷 pdf」に関するQ&A: pdf印刷ができない

A 回答 (2件)

ActiveXコントロールでやるなら、VS-VIEWがあります。

(高いけど)
しかし、何故Acrobatを使用しないのですか?

参考URL:http://www.grapecity.com/japan/support/database/ …

この回答への補足

回答ありがとうございます。
「Acrobatを使用しない理由」とのことですが、
いちいち書類を開いて印刷を行うと言った操作が
わずらわしいためです。(仕事上)
「右クリックで印刷」でも良いのですが、できれば
フォルダを選択して、ボタンクリックで全印刷がしたい
です。
ちなみに最初にActiveXでと記述しましたが、
実現可能であれば方法は何でも構いません。
実はVBの勉強中で、わけも分からずActiveX
とか書いてしまいました。すいません...

以上
よろしくお願いします。

補足日時:2002/02/06 13:27
    • good
    • 0

過去に同様な質問があります

    • good
    • 0
この回答へのお礼

度々の回答恐れ入ります。
過去に同様の...とのことで
探してみたのですが、どうしても
見つけられません。
申し訳ありませんが
もう少しだけヒントをいただけませんでしょうか?

以上
よろしくお願いします。

お礼日時:2002/02/07 12:28

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QActiveX DLL と ActiveXコントロールの違い

VB6で開発をしています。
複数のEXEファイルを使用するシステムです。
各EXEファイルの共通のモジュールをライブラリ化しようと思っています。

これは [ActiveX DLL] 又は、[ActiveXコントロール] のどちらでも実現できると思うんですが、どちらで作成した方が良いのでしょうか?

それぞれのメリット、デミリットを教えて下さい。

Aベストアンサー

混乱させますw

私も最近まで知らなかったのですが、任意のタイミングでOCXもインスタンスの生成が可能みたいです。
WinSockを張らずにPGを書き上げ、WinSockコントロールを使用する方法がわたしの利用しているメーリングリストに出ておりました。
その結末は、「あまり公開はされてはいないけど、ほとんどのコントロールはEXEにしてからOCXとして取り込むことができる」ということです。


ActiveXDLLも参照設定をしなければ、DLLバージョンが違っても大丈夫です。
ただし宣言が
As HogeHoge←(DLLの定義)を
As Object
として、CreateObject("DLL定義")のように行うと、引数が一緒ならEXEはリコンパイルしないでもいいです。実例として、エクセルを参照設定して[as Excel]と宣言していたら、その参照設定に対応したExcelしか操作できませんが、[As Object]と[CreateObject("Excel.Application")]とすると、EXCEL95~XPまで扱えます。
不便なのは、タイプライブラリが未設定になるので、Excelの各プロパティ/メソッドを知らないといけないし、Excel固有の定数が宣言もされてないので、自分で定数値を調べなければいけません。でもバージョンの違いを気にしないでいけるのは、非常に便利です。


速さのことを言ったら、当然DLLが早いです。
OCXはプロパティにRight/Leftなどを持っています。変えて言うと実体を持っていると言うことです。非表示にしていても実体をもっています。DLLはインスタンスは生成されますが、OCXだって生成されるので、表示しないで使用するなら、OCXの意味があまりありません。


んで、私(個人)の考えとしては、、、
※オリジナルボタンなどの、画面上必要ならOCX
  理由:画面に必要だから
※画面に表示を行う必要がなくても、配布する気ならOCX
  理由:配布先のユーザが扱いやすい
※そうじゃなければDLL
  理由:OCXにする理由が見つからないから


余談です。
私はいつもCommonコントロールは使用しません。
  理由:簡単なAPIでも実現できるのに、機能が少ないCommonコントロールを追加して、EXEの容量を大きくしたくないから

混乱させますw

私も最近まで知らなかったのですが、任意のタイミングでOCXもインスタンスの生成が可能みたいです。
WinSockを張らずにPGを書き上げ、WinSockコントロールを使用する方法がわたしの利用しているメーリングリストに出ておりました。
その結末は、「あまり公開はされてはいないけど、ほとんどのコントロールはEXEにしてからOCXとして取り込むことができる」ということです。


ActiveXDLLも参照設定をしなければ、DLLバージョンが違っても大丈夫です。
ただし宣言が
As HogeHoge←(DLLの定...続きを読む

QFormに貼り付けたActiveXコントロールへの

Formに貼り付けたActiveXコントロールへのアクセスを別Classに担当させる方法

プログラミング初心者です。
現在VB.NETでRS-232Cで接続するデバイスを制御するフォームアプリケーションを作成しています。
デバイス制御にはメーカからActiveXコントロールが配布されており、それをフォームに貼り付けて基本的な動作をさせるところまではできています。

ただ、現在全てのコードがForm1クラスに記述されており、今後ボリュームが増えていくとメンテがしづらくなりそうですので、まとまった各機能群を別のクラスとして作成したいのですが、フォームに貼り付けたActiveXコントロールを別のクラスから動かすためにはどうすれば良いのかわかりませんので教えていただけないでしょうか。

以外検討してだめだったものです。

Class Class2
Dim frm As Form1 = New Form1
frm.AxSample1
End Class

上記のようにForm1のインスタンスを作成するのも何かが違う気がしますし…。

Class Class2

Dim frm As Form

Public Sub New(ByVal senderfrm As Form)
frm = senderfrm
End Sub

frm.AxSample1

End Class

上記だとAxSample1がClass2に認識されるはずもないですし…。

Importsとか色々試してみたのですがうまく行かず…という状況です。

そもそも根本的に別クラスにさせようということがおかしい、などの回答でも結構です。

よろしくお願いいたします。

Formに貼り付けたActiveXコントロールへのアクセスを別Classに担当させる方法

プログラミング初心者です。
現在VB.NETでRS-232Cで接続するデバイスを制御するフォームアプリケーションを作成しています。
デバイス制御にはメーカからActiveXコントロールが配布されており、それをフォームに貼り付けて基本的な動作をさせるところまではできています。

ただ、現在全てのコードがForm1クラスに記述されており、今後ボリュームが増えていくとメンテがしづらくなりそうですので、まとまった各機能群を別のクラスとし...続きを読む

Aベストアンサー

> Inherits AxSample1
> のように記述するのでしょうか?
これでOKですね。

> その場合、グループ分けした機能群の数だけActiveXコントロールの派生クラスを作成するような
> イメージでしょうか。
こちらも、その考え方でOKです。

機能ごとに派生クラスを用意するという事は、例えば以下のような事ですよね。

基底クラス:TextBox
派生クラスA:数値のみ入力可能なTextBox
派生クラスB:郵便番号のみ入力可能なTextBox

※ 補足として、継承について書かれているHPを記載しておきます。
http://homepage1.nifty.com/rucio/main/VBdotNet/Advance/Advance2.htm
http://www.atmarkit.co.jp/fdotnet/vb6tonet/vb6tonet10/vb6tonet10_01.html

Qエクセル2013 ActiveXとフォームコントロールの違い

今更なのかもしれませんが、2003・2007・2010で、ActiveXコントロールとフォームコントロールを意識せず全部ActiveXのコントロールをシートに貼り付けてプログラムを作っていましたが、いままで、不自由はありませんでした。ところが、
2013でプログラムを走らせると、エラーに成りそのコントロールを認識してくれません。
2013では シートにActiveXコントロールは 貼り付けられないようです。

で、新たにフォームコントロールのパーツを貼り付けるのですが、プロパティーが VBAというか、ActiveXとは全く異なり、例えば、オプションボタンは、プログラム分岐のフラグ代わりに使っていたのですが(VBAから シート.orderInput_btn2.value = True などと)、「マクロの実行」などと 出て、VBAに記載されたコードが選択できるようですが、VBAから この、パーツは認識しない?(コードを書いても、お助け文字列が浮いてこないし、ドロップダウンにもない?)のですが・・・・

どこで、私は間違ったのでしょうか?それとも、これで、正しい?

今更なのかもしれませんが、2003・2007・2010で、ActiveXコントロールとフォームコントロールを意識せず全部ActiveXのコントロールをシートに貼り付けてプログラムを作っていましたが、いままで、不自由はありませんでした。ところが、
2013でプログラムを走らせると、エラーに成りそのコントロールを認識してくれません。
2013では シートにActiveXコントロールは 貼り付けられないようです。

で、新たにフォームコントロールのパーツを貼り付けるのですが、プロパティーが VBAというか、ActiveXとは全く...続きを読む

Aベストアンサー

こんばんは。

>2013でプログラムを走らせると、エラーに成りそのコントロールを認識してくれません。
>2013では シートにActiveXコントロールは 貼り付けられないようです。

これは、#1様が述べた通り、2014.12.9アップデートの影響下にあるのだと思います。

>(VBAから シート.orderInput_btn2.value = True などと)
これは、オン・オフの数値が違うからだと思います。xlOn は、1 ですが、xlOff は、-4146だからです。

Sub TestMarcro1()
 If Worksheets("Sheet1").OptionButtons(1) = xlOn Then
   MsgBox "OptionButton は、ON", vbInformation
 Else
    MsgBox "OptionButton は、OFF", vbExclamation
 End If
End Sub

QActiveX コントロールの表示サイズの制限

教えて下さい。
ActiveXコントロールを作成したのですが、いざFormに貼り付けると、貼り付けたコントロールをドラッグする事で、どんな大きさにもなってしまいます。
少々、見栄えを良くするのに、「Timerコントロール」みたいに大きさは、ある大きさで固定化したいのですが、うまくいきません。
どなたか方法をご存知でしたら、やり方などアドバイスを宜しくお願いします。

Aベストアンサー

サブクラス化してWindowsメッセージを読み捨てればきれいなのでしょうが、大げさすぎるのでResizeイベントで自分のサイズを書き換えます。コントロールはドラッグ可能ですが、サイズは変わりません。
swは多重イベントを回避するフラグで、なくてもいいです。

Private Sub UserControl_Resize()
Static sw As Integer
If sw <> 0 Then Exit Sub
sw = 1
With UserControl
If Ambient.UserMode = False Then
.Width = コントロールの幅
.Height = コントロールの高さ
End If
End With
sw = 0
End Sub

QVB6.0で作成したActiveXコントロール

お世話になっております。

VB6.0で作成したActiveXコントロールをディストリビューションウィザード
でパッケージ(インターネット用CABファイル)にし、Win2000Server(IIS)に
設定後、クライアントPCからIEで表示しようとすると、「セキュリティ警告」
のダイアログが表示され、ダイアログで「はい」を選択しても画面が表示さ
れません。(デジタル署名は未作成)

Win2000Proで同様のテストした場合は画面の表示まで実行出来ました。
IEではサーバーを信頼済みサイトに設定しています。

ダイアログタイトルは、
「セキュリティ警告」
メッセージが、
XXXXXXX.CABをインストールして実行しますか?
発行者は次の問題のため判別できません
AUTHENTICODE署名を検出できません
です。


上記の症状が発生する原因等をご存知の方がいらっしゃいましたら、ご教授をよろしくお願いいたします。

Aベストアンサー

ところで確認したクライアントPCのOSは?

VBのランタイムが入っていないのでは?
作成したバージョン(SPも含む)のランタイムが
入っているか確認してみてください。


このカテゴリの人気Q&Aランキング

おすすめ情報