tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル用紙トレイの変更
記事No5493
投稿日: 2007/05/16(Wed) 12:11
投稿者のっぽ
のっぽと申します。
プリンタ 用紙トレイを変更できるプログラムを作成中です。

Windows XP SP2
VB2005 Express Edition
プリンタ=HPC5180


HPC5180 は 用紙トレイが2つあり、
Printing.PrinterSettings.PaperSources()を調べると下記の通りでした。
0=[PaperSource  自動選択 Kind=FormSource]
1=[PaperSource  メイントレイ Kind=Custom]
2=[PaperSource  フォトトレイ Kind=Custom]

[PaperSource  フォトトレイ Kind=Custom]に用紙トレイを変更し A6や葉書サイズの用紙を印字するプログラムを作成中です。
このコードでは、メイントレイからフォトトレイに変更されません。
どのようにすれば 良いのでしょうか?

お手数かけますが、ご協力をよろしくお願いします。

    Private Sub cmdPrint_Click(ByVal sender As System.Object, ByVal e As   SYStem.EventArgs)  Handles cmdPrint.Click
      
        Dim I As Integer
        Dim Pset As New Printing.PrinterSettings
        Dim Psize As Printing.PaperSize
            
    'フォトトレイを指定      
    I =2    
        PrintDocument1.DefaultPageSettings.PaperSource = Pset.PaperSources(I)

        '用紙サイズ 方向を指定  
    PrintDocument1.DefaultPageSettings.Landscape = False      
    For Each Psize In Pset.PaperSizes
            If Psize.Kind = Printing.PaperKind.A6 Then
               PrintDocument.DefaultPageSettings.PaperSize = Psize
            End If
        Next
       PrintDocument1.Print()
    End Sub

[ツリー表示へ]
タイトルRe: 用紙トレイの変更
記事No5564
投稿日: 2007/05/25(Fri) 11:15
投稿者てるてる
のっぽさんと、同じOS プリンタを使っています
> Windows XP SP2
> VB2005 Express Edition
> プリンタ=HPC5180

>         Dim Pset As New Printing.PrinterSettings
>         Dim Psize As Printing.PaperSize
>              
>     For Each Psize In Pset.PaperSizes
>             If Psize.Kind = Printing.PaperKind.A6 Then
>                PrintDocument.DefaultPageSettings.PaperSize = Psize
>             End If
>         Next
>    

-----------------------------------------------------------------
●用紙サイズの確認
> Printing.PrinterSettings.PaperSources()を調べると下記の通りでした。
Printing.PrinterSettings.PaperSourcesではなくて、Printing.PrinterSettings.PaperName に変更すれば、使用できる用紙サイズがわかります

●For文の変更        
PSise.PaperKind を PSize.PaperName にする。        

        For Each PSize In PSet.PaperSizes
            If PSize.PaperName = "フチ無しはがき 100x148mm" Then
                prdPrint.DefaultPageSettings.PaperSize = PSize
            End If
        Next

[ツリー表示へ]
タイトルRe: 用紙トレイの変更
記事No5566
投稿日: 2007/05/25(Fri) 17:14
投稿者花ちゃん
>      I =2    
>         PrintDocument1.DefaultPageSettings.PaperSource = Pset.PaperSources(I)

   PrintDocument1.DefaultPageSettings.PaperSource = PrintDocument1.PrinterSettings.PaperSources.Item(2)

でもだめでしょうか?

Pset.PaperSources(I) には何も設定されていませんよね。

因みに、 この I は全角ですか? 実際に使っているコードをペーストしたものですか?

[ツリー表示へ]
タイトルRe^2: 用紙トレイの変更
記事No5586
投稿日: 2007/05/30(Wed) 09:46
投稿者のっぽ
●てるてるさん
有難うございました。
てるてるさんのコードで 葉書サイズが印刷できました。
助かりました。

●花ちゃんさん
>    PrintDocument1.DefaultPageSettings.PaperSource = PrintDocument1.PrinterSettings.PaperSources.Item(2)
>
> でもだめでしょうか?
はい これのコードでも印刷できました

> Pset.PaperSources(I) には何も設定されていませんよね。
これについては 私も良くわかりません。 もうしわけございません。

> 因みに、 この I は全角ですか? 実際に使っているコードをペーストしたものですか?
半角で コピペしたものです。

いろいろ アドバイスと頂き有難うございました。
これからもよろしくお願いします

[ツリー表示へ]