[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/03/24(Thu) 13:24
投稿者名:F
Eメール:masasa111@hotmail.com
URL :
タイトル:
スクリーンのスナップショット印刷が出来ない
いつもVBレスューを利用させていただいております、ありがとうございます。

この度書き込みさせていただいたのは、ソフト・サンプル集のNO273「スクリーンのスナップショットをクリ
ップボードに保存及び印刷」を利用させて頂いて、アプリケーションのウィンドウのスナップショットを取得
して印刷するということをしているのですが。とあるPCでだけ、クリップボードにデータを貼り付けることが
出来ず、印刷することが出来ません。
印刷できないPCはDELLのDimension8400で仕様は
CPU:Pentium4プロセッサ530 3GHz
メモリ:400MHzDDR2-SDRAM 1024MB
OS:WindowsXP Professional SP1
っとなっております。
その他PCで動作させても問題なく印刷できます。

PCの構成によって印刷できないということが起こりうるものなのでしょうか? それとも他に原因があるので
しょうか?
ご教示お願いいたします。

投稿時間:2005/03/24(Thu) 14:31
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: スクリーンのスナップショット印刷が出来ない
もう少し詳しい状況を教えてください。
ソフト・サンプル集のNO273 はそのままご使用でしょうか? 改変しているとか。
DELLのDimension8400 にはVBが入っているのでしょうか?
入っているのであれば、keybd_event の戻り値はどのようになっていますか?
SysInfo(SysInfo.ocx) コントロールはどのようにされました。
エラーは表示されないのでしょうか?
クリップボードの中は空ですか?
別途、手動でSNAPSHOTキーを押した場合はクリップボードにコピーされていますか?
キーボードは普通のキーボードでしょうか?
何度か試しても同じでしょうか?
パソコン再起動直後に実行してもコピーできませんか?

投稿時間:2005/03/24(Thu) 15:10
投稿者名:F
Eメール:masasa111@hotmail.com
URL :
タイトル:
Re^2: スクリーンのスナップショット印刷が出来ない
早速のご返信ありがとうございます。
状況ですが

> ソフト・サンプル集のNO273 はそのままご使用でしょうか? 改変しているとか。
 サンプルのソースで以下の部分を
  'ファイル名を自動生成
    MyFileName = App.Path & "\" & Format$(Now, "yymmddhhmmss") & ".BMP"
    '表示データーをビットマップ形式のデータで保存
    Set PicData = Clipboard.GetData
    Call SavePicture(PicData, MyFileName)
  ↓
 '表示データーをビットマップ形式のデータで保存
        Set PicData = Clipboard.GetData
        
        '保存する場合
        If blnSave Then
            If strFilePath = vbNullString Then
                strFilePath = App.Path & "\" & Format$(Now, "yymmddhhmmss") & ".BMP"
            End If

            Call SavePicture(PicData, strFilePath)
        End If
 のように選択式で保存するように改変しております。
 それにともない、SaveWindowPicの引数に画像保存するか否かの変数 blnSave As Boolean を追加してお
ります。

> DELLのDimension8400 にはVBが入っているのでしょうか?
> 入っているのであれば、keybd_event の戻り値はどのようになっていますか?
 VB6がインストールされておりますが、keybd_eventの戻り値については確認しておりません。そして、問題の
PCが手元にないので、今すぐには確認できない状況です。

> SysInfo(SysInfo.ocx) コントロールはどのようにされました。
 XPで作成したプログラムを動作させた際にこの掲示板でもかつて取り上げられた(記事2596)と同じエラーが
発生したので、SYSTEM32フォルダにSYSINFO.OCXを追加しました。

> エラーは表示されないのでしょうか?
> クリップボードの中は空ですか?
 エラーは表示されません。
 
 'クリップボード内にビットマップ形式のデータがあるか調べる
  If Clipboard.GetFormat(vbCFBitmap) Then
 
 にて、ビットマップ形式のデータがないと判定され、MsgBox "保存出来ませんでした。"の処理が実行された
ことから、クリップボードの中身のデータが無いのではないかと思います。ただ、メッセージ内容は"印刷出来ま
せんでした"に改変してあります。

> 別途、手動でSNAPSHOTキーを押した場合はクリップボードにコピーされていますか?
 VBのデバックモードにて、前述のクリップボード内にビットマップ形式のデータがあるか調べるの直前でプリ
ントスクリーンのキーを押してから、処理を続けたところ印刷できました。これからプリントスクリーンのキー
を押した場合にはクリップボードにコピーされていると考えています。

> キーボードは普通のキーボードでしょうか?
 DELLの付属品で、特殊ボタン等はないです。

> 何度か試しても同じでしょうか?
 何度試してみても同じ現象が起こります。

> パソコン再起動直後に実行してもコピーできませんか?
 再起動直後でも同じ現象が起こります。

 以上です。
 説明不足で申し訳ございませんが、よろしくお願いいたします。

投稿時間:2005/03/24(Thu) 16:22
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: スクリーンのスナップショット印刷が出来ない
> > キーボードは普通のキーボードでしょうか?
>  DELLの付属品で、特殊ボタン等はないです。

そのキー1個で単独で動作するのでしょうか?
何かのキーと併用して使用するタイプですか?

後は、その機械でキーボードの状態を調べて見ないと解らないですね。
キーを押した時にそのキーコードがどのようになっているのか?
又、他のキーを設定した場合は有効になるかとかを。

投稿時間:2005/03/28(Mon) 10:12
投稿者名:F
Eメール:masasa111@hotmail.com
URL :
タイトル:
Re^4: スクリーンのスナップショット印刷が出来ない
レス遅くなってしまって、申し訳ないです。

> 後は、その機械でキーボードの状態を調べて見ないと解らないですね。
> キーを押した時にそのキーコードがどのようになっているのか?
> 又、他のキーを設定した場合は有効になるかとかを。
なるほど、問題のPCでデバックを行って確認してみます。

状況説明不十分にもかかわらずアドバイスありがとうございました。