プロが教える店舗&オフィスのセキュリティ対策術

http://oshiete1.goo.ne.jp/kotaeru.php3?q=185224
で画像の取り込みかたを参照するよう教えて頂きました。

Form1:取り込み開始のコマンドボタン
Form2:データと画像が貼り付けてあるForm
でForm1のコマンドボタンを押すと、Form2をクリップボードに貼り付けて、コモンダイアログを使って.jpgファイルに保存というプログラムを組んでます。

クリップボードへアクティブフォームを貼り付けた後、ダイアログが表示されずどうしてもストップしてしまいます。Formをクリックするとダイアログが表示されてファイル操作ができます。どうしてつまづいてしまうんでしょう?

Call SendInput(3, inpInfomation(0), Len(inpInfomation(0)))
'Windowsに処理を渡す(クリップボードに画像がわたる)
DoEvents

このあとに、

Dim s As Integer
On Error GoTo Err_Cancel:
CommonDialog1.CancelError = True
CommonDialog1.Filter = "JPGファイル (*.jpg)|*.jpg"
CommonDialog1.ShowSave
s = CliptoJPEG(CommonDialog1.FileName, 30, False)
Exit Sub

Err_Cancel:
Exit Sub

"CliptoJPEG"は SaveJPG.DLLのjpg変換の関数です。
OSはWIN/NT Ver4.0です。困ってます。
教えて下さい。お願いします。

A 回答 (2件)

Call SendInput(3, inpInfomation(0), Len(inpInfomation(0)))


'Windowsに処理を渡す(クリップボードに画像がわたる)
DoEvents

Call AppActivate(Form1.Caption) ← 追加

これでも ダメかな?

この回答への補足

返答遅れましてすみません。
いろいろ試してみたのですが、うまくいきません。
ところが、1枚のフォーム上ですと、うまくいきます。
複数のフォームのあるプロジェクトで他のフォームから
Call fucSnapShot
で Subプロシージャへ移動させると、そこでストップしてしまいます。
ですので、クリップボードにもキャプチャされません。
フォームをさわるとまた動き出します。
お手数ですが、教えてください。

補足日時:2002/03/12 17:52
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速試してみます。

お礼日時:2002/03/08 18:04

それでもだめだったら、ダイアログのあとにクリップボードにコピーさせてみては?

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

たいへん遅くなりましてすみません。
おっしゃる通りいろいろ試してみました。
どうしても他のフォームを取り込むことができないので、
コードを被写フォームにいれちゃいました。
なんとかなりそうです。
ありがとうございました。

お礼日時:2002/03/20 18:54

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