投稿日 | : 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の付属品で、特殊ボタン等はないです。
> 何度か試しても同じでしょうか?
何度試してみても同じ現象が起こります。
> パソコン再起動直後に実行してもコピーできませんか?
再起動直後でも同じ現象が起こります。
以上です。
説明不足で申し訳ございませんが、よろしくお願いいたします。