• ベストアンサー

ActiveReportsを使って[印刷ダイアログ]を表示させずに印刷する方法

いつもお世話になっております。 現在Microsoft Visual Basic 2005 ActiveReports 2.0 PRO を使い印刷のプログラムを作成中ですが、わからない事があり、 皆様にお聞きしたいのですが、 <やりたいこと> 印刷ボタンをクリックした時に、プリンター設定ダイアログを表示させずに印刷を強制実行させる。 <現在のソース> Public Class Form1 'Form1にある[印刷ボタン]が押された時 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'レポートを実行し、印刷します。 Dim rpt As New ActiveReport1() rpt.Run() rpt.Document.Print() End Sub End Class <現在の状況> ・デバック開始 ・Form1が画面に表示 ・Form1の印刷ボタンクリック[Button1] ・プリンタ設定画面表示 ・[OK]ボタンクリック ・印刷完了 できましたら、ヒントやHPの説明でも結構ですので、ご教授いただければと思います。

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

  • ベストアンサー
回答No.2

お世話になります。 http://www.grapecity.com/japan/support/Search/FaqContent.asp?id=18984 上記のように、 Report.Document.Print メソッド の 第 1 引数(印刷ダイアログを出す出さない)に False を でいけるみたいですね。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • miyuyu
  • ベストアンサー率61% (30/49)
回答No.1

参考URL ID=7700辺りでしょうか? 違ってたらすいません。

参考URL:
http://www.grapecity.com/japan/support/database/P7_330_TechFaq.htm#content
try2005
質問者

補足

回答ありがとうございます。 残念ながら、Viewerコントロールというより、Viewer自体作成しませんし、表示もさせません。 単純にWindows アプリケーションで作成した[印刷ボタン]を押した時に プリンタ設定ダイアログを表示させたくないだけなのですが。 なにか、ヒントになりそうなものがあればまた教えてください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VB2010でMDI親フォームから子フォームを表示

    VB2010でソフトを作っております。 MDI親フォームから子フォームを表示させたいのですが…。 過去に少しだけVB6を使っていたことがありますが、クラスという概念に苦労しております インスタンスや初期化といったところをうまく扱えばとは思うのですが、よろしくご指導お願いいたします。 1.MDI親フォーム(Form1)のボタンを押し、子フォーム(Form2)を表示させる 2.子フォームが表示されていなかったら表示させる 3.子フォームが表示されていたら何もしない これだけの事ですがずいぶん悩んでおります。 全コードがこれです。 Public Class Form1 Private f2 As New Form2 Private Sub Form1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.IsMdiContainer = True End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim fChild As Form() = Me.MdiChildren For Each f As Form In fChild If f.Text = "Form2" Then Exit Sub End If Next f2 = New Form2 f2.MdiParent = Me f2.Show() f2.Activate() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If f2 Is Nothing OrElse f2.IsDisposed Then f2 = New Form2 f2.MdiParent = Me End If f2.Show() f2.Activate() End Sub End Class ボタン1でもボタン2でも、期待する動作はするのですが、 ボタン1ではアクティブになっているフォームの名前を力技で取得している気がして… ボタン2では子フォーム(Form2)をすでに表示している状態でもさらにShowをしているのが気に入らなくて… もっとスマートな方法がありましたら、ご指導お願いします。

  • クラス間(Form間?)で使える変数の設定方法(VB.NET)

    VB.net(Visual Studio)で現在プログラムの勉強をしています。 現在のスキルとしまして、変数,引数,グローバル変数,サブルーチン等を勉強しました。 残念ながら、他のプログラム言語等は勉強した事がありません。 <目的> 現在1つのアプリケーション内でForm1,Form2,Form3と作り Form1のText.Boxに入力された値を変数としてボタンを押すと各Formのラベルに 変数を渡し表示させたいと考えております。 <問題点> しかしプログラムを作っても波下線が出てプログラムのデバックが開始できません。 おそらくどこかがおかしいと思うのですが判りません。 <質問内容> 下記のサンプルの中でおかしいコードや根本からやり直す必要なコードがあれば ご教授願えますでしょうか? <サンプル> -----Form1------ Public Class Form1 Public TextBox1noNakami as strig Private Sub Button1_click(Byval sender As System.Object,Byval e AS System.EventArgs) Handles Button1_click TextBox1noNakami = TextBox1.text Form2.show() Form3.show() End Sub End Class -----Form2----- Public Class Form2 Public TextBox1noNakami as Form1 Private Sub Form2_Losd(Byval sender As System.Object,Byval e AS System.EventArgs) Handles MyBase.Load label1.text = TextBox1noNakami End Sub End Class -----Form3----- Public Class Form3 Public TextBox1noNakami as Form1 Private Sub Form3_Losd(Byval sender As System.Object,Byval e AS System.EventArgs) Handles MyBase.Load label2.text = TextBox1noNakami End Sub End Class

  • visual basic 2010 の デザイン

    visual basic 2010で、ボタンをクリックしただけ数が増えるように作ったんですけど、 9から10に切り替わるときに、位がずれてしまいます。 分かりやすくするため、*をつけると、**9*→**10 これを、***9→**10 こうなるようにしたいんです。 どうやったらできますか??? ============================================================ Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim kazu As Long kazu = Label1.Text Label1.Text = kazu + 1 End Sub End Class

  • sub プロシージャを呼び出すにはどうればいいんですか?in vb 2005

    恐れ入ります。 vb2005にて、sub プロシージャをよびだしたいんですけどどうすればよろしいでしょうか?教えて下さい。 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click load ike 'vb6ではこれでいけたのに・・・ End Sub Public Sub ike() textbox1.text="イケメン" end sub End Class

  • form2がボタンを押すと消えてしまう

    vb2010で、作成しています。form1から、form2を呼び出し、okボタンまたは、cancelボタンを押すと、無条件でform2が消えてしまいます。私がしたいのは、form2(パスワード入力ウィンドウ)でテキストボックスにパスワードを入力してokボタンを押して、それが正しい(1234)ときのみform2を消去することです。現在のところ、入力したパスワードが間違っていてもokボタンを押すと、form2は消えてしまいます。 form1側のコードとform2側のコードは以下です。お手数ですが御教示いただけると幸いです。 /////////Form1 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim f As New Form2() f.TextBox1.PasswordChar = "*"c '//入力文字をマスクする If f.ShowDialog(Me) = DialogResult.OK Then If f.TextBox1.Text = "1234" Then f.Dispose() End If End If End Sub End Class /////////Form2 Public Class Form2 Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click Dim f As Form1 f = Me.Owner Me.DialogResult = DialogResult.OK End Sub Private Sub btncancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btncancel.Click Dim f As Form1 f = Me.Owner Me.DialogResult = DialogResult.Cancel End Sub End Class

  • 他のFormのクリックイベント

    教えてください! 他のFormのクリックイベントを実行できますか? Form2のButton2をクリックした時に、Form1の「Button1_Click」を実行させることができますか? 出来るとしたら、Form2の「Button2_Click」にはどのように記載したらいいのでしょうか? [Form1]より Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)・・・ [Form2]より Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs)・・・ End Sub 宜しくお願いします。

  • Form間のデータ渡しについて

    申し訳ありません。VB.NET初心者です。 Form1から、ボタンAをクリックするとForm2がオープンします。 Form1から、ボタンBをクリックするとForm3がオープンします。 Form1では、Form2またはForm3で設定した値をそれぞれ演算に使おうとしています。 MicrosoftのHPからパクってForm1 - Form2間のデータの引渡しを行うことはできたの ですが、新規でForm3を作成して、Form1 - Form3間のデータの引渡しを行おうとする とForm3の立ち上がり時に "NullReferenceException はハンドルされませんでした"となり、 困ってしまいました。 使われている方から見ると簡単かもしれず 申し訳ありませんが、どなたか教えていただけないでしょうか。 ==================== Form1.vb ======================= Form1には、Label1、Label2、Button1、Button2があります。 Public Class Form1 Inherits System.Windows.Forms.Form Private m_form2 As Form2 Private m_form3 As Form3 Public Property LabelText() As String Get Return Label1.Text End Get Set(ByVal Value As String) Label1.Text = Value End Set End Property Public Property LabelText2() As String Get Return Label2.Text End Get Set(ByVal Value As String) Label2.Text = Value End Set End Property Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ScaleYokusou.Click m_form2 = New Form2(Me) m_form2.ShowDialog() m_form2.Dispose() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ScaleHikito.Click m_form3 = New Form3() m_form3.ShowDialog() m_form3.Dispose() End Sub End Class ==================== Form2.vb ======================= Form2には、TextBox1、Button1があります。 Public Class Form2 Inherits System.Windows.Forms.Form Private m_form1 As Form1 Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged If m_form1 Is Nothing = False Then m_form1.LabelText = Me.TextBox1.Text End If End Sub Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If m_form1 Is Nothing = False Then Me.TextBox1.Text = m_form1.LabelText End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Close() End Sub End Class ==================== Form3.vb ======================= Form3には、TextBox1、Button1があります。 Public Class Form3 Inherits System.Windows.Forms.Form Private m_form1 As Form1 Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged If m_form1 Is Nothing = False Then m_form1.LabelText2 = Me.TextBox1.Text End If End Sub Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.TextBox1.Text = m_form1.LabelText2 End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Close() End Sub End Class

  • DataBindの更新タイミング(VB2005)

    VB2005で、あるクラスのプロパティをテキストボックスのTextプロパティにDataBindingしています。 テキストボックスの内容とクラスの内部変数の値が同じになるようにしたいのですが、上手くいきません。 Public Class Class1  Private _NameValue As String = Nothing  Public Property NameValue() As String   Get    Return _NameValue   End Get   Set (ByVal value As String)    _NameValue = Value   End Set  End Property End Class フォーム(Form1)にテキストボックス(TextBox1)とボタン(Button1)、ツールバーを設置しツールストリップボタン(ToolStripButton1)を設置します。 Public Class Form1  Private c As Class1  'フォーム表示時にClass1のインスタンス化、テキストボックスにバインディングする  Private Sub Form1_Show (ByVal ・・・) Handles MyBase.Shown   c = new Class1   TextBox1.DataBinding.Add("Text", c, "NameValue")  End Sub  'Button1をクリックした時  Private Sub Button1_Click(ByVal ・・・) Handles Button1.Click   MessageBox.Show(c.NameValue)  End Sub  'ToolStripButton1をクリックした時  Private Sub ToolStripMenu1_Click(ByVal ・・・) Handles ToolStripButton1.Click   MessageBox.Show(c.NameValue)  End Sub End Class デバッグを開始してテキストボックスに文字を打ち込み、Button1をクリックするとメッセージボックスに入力した文字が表示されます。 ですが、文字を打ち込みToolStripButton1をクリックすると文字を打ち込む前の状態の文字が表示されます。 なぜToolStripButtonの時は更新がされていないのでしょうか? テキストボックスからTabキーでButton1へフォーカスを移動させてからToolStripButtonをクリックすると更新された正しい内容が表示されます。 実際のプログラム上ではデータベースへの書き込みなどを行っているのですが、うまく更新できない時があり調べたらこの症状に気づきました。 ツールボタンをクリックした時に、先にDataBindの更新が走るようにする方法はありませんか? 

  • VB2010の、Formを開く動作に関する質問です

    VB2010のFormについてお聞きしたいことがあります。 例えばForm1とForm2の2つがあるとして、 ・Form1上のボタンをクリック後Form2が表示される ・Form2を表示後Form1は自動で閉じられる。 この様な事をするにはどの様に行えばよろしいでしょうか? 試しに、 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click   Form2.Show()   Me.Close() End Sub と、してみたのですが Form2が表示された直後に1と2両方消えてしまいました。 改善方法を教えていただけると嬉しいです。 よろしくお願いいたします。

  • フォーム上の任意のコントロール上でのイベントをまとめてハンドリングする方法

    .NETにおいて、フォーム上に配置されたコントロールで発生したイベントを、各コントロールごとではなくて、まとめてハンドルする方法はないでしょうか。 例えば次のようなフォームがあります。 (Button1, Button2, Button3は、フォームに配置されたボタンとします) Public Class MyForm   Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click   End Sub End Class ボタンが3つ程度の場合はこれで良いと思うのですが、例えば(極端に言えば)ボタンが100個ある場合、 Handles Button1.Click, Button2.Click, (途中省略.....) Button100.Click と書くしかないのでしょうか。 後で対象コントロールが増えたり減ったりした場合に間違いが起こりそうなので、このような書き方は避けたいです。 フォーム上のどのコントロールでも構わないからとにかくクリックイベントが発生したことを知るための方法はないでしょうか。 例えば次のようなかんじでハンドリングできないでしょうか。 Private Sub All_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles フォーム上の任意のコントロールでのClickイベント End Sub (環境はVB.NET2005です)