No.1ベストアンサー
- 回答日時:
クリップボードに渡す前に、ピクチャボックスを利用すると簡単です。
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Private Sub Command1_Click()
Dim picWk As PictureBox
Dim bytScale As Byte
Dim blnRedraw As Boolean
'フォームのスケールを一時記憶
bytScale = Me.ScaleMode
'AutoRedrawを一時記憶
blnRedraw = Me.AutoRedraw
'フォームのスケールをピクセルにセット
Me.ScaleMode = vbPixels
'AutoRedrawをFalseにセット
Me.AutoRedraw = blnRedraw
'ピクチャボックスを作る
Set picWk = Me.Controls.Add("VB.PictureBox", "picDmy")
With picWk
'初期設定
.ScaleMode = vbPixels
.Move 0, 0, Frame1.Width, Frame1.Height
.Cls
.AutoRedraw = True
'絵を張る
Call StretchBlt(.hdc, 0, 0, picWk.Width, picWk.Height, Me.hdc, Frame1.Left, Frame1.Top, Frame1.Width, Frame1.Height, vbSrcCopy)
End With
'クリップボードにセット
Clipboard.Clear
Clipboard.SetData picWk.Image
'ピクチャボックスを破棄
Me.Controls.Remove picWk
Set picWk = Nothing
'フォームを元の状態に戻す
Me.ScaleMode = bytScale
Me.AutoRedraw = blnRedraw
'適当な色つけ
Call Form_Load
End Sub
Private Sub Form_Load()
Me.Frame1.BackColor = RGB(Int(&HFF * Rnd), Int(&HFF * Rnd), Int(&HFF * Rnd))
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 画像編集・動画編集・音楽編集 WIN10で「切り取り&スケッチ」が上手く使えません。 1 2022/09/01 22:56
- Chrome(クローム) 【 Chrome 】鎖のアイコンの「Copy Link Text」が機能しなくなりました。 1 2023/03/27 10:32
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- Excel(エクセル) エクセルに写真の貼り付けができません。 4 2023/01/26 22:56
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Visual Basic(VBA) エクセルVBAについて質問です。 セルA1に"あ" セルB3に"い" セルC5に"う" と入力されて 2 2023/06/10 13:24
- Windows 10 クリップボードからペイント? 2 2022/09/15 10:01
- Excel(エクセル) エクセル ブック間のコピー 5 2022/04/24 08:11
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) 【VBA】エクセルで選択した範囲の値のみをクリップボードにコピーするコードについて 3 2023/03/08 17:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
筋トレ初心者です。 ジムでひた...
-
アクセスVBA フォームのス...
-
タブコントロールを含んだフォ...
-
Googleフォーム・複数人の申し...
-
ディスプレイ解像度より大きな...
-
リストボックスの選択解除
-
ExcelVBAでユーザーフォーム内...
-
WithEvents変数について
-
サブフォームの行ごとにコンボ...
-
VB.net(VB)で、フォームにExcel...
-
アクセス・別フォームの新規レ...
-
VBA リストボックスをダブルク...
-
Delphi フォームのフォーカス固定
-
VBAでフォームのスクロールバー...
-
毎日新聞「女の気持ち」匿名希...
-
サブフォームの新規レコードに...
-
VBプログラムの終了
-
【VC++2005(CLR)】フォームを閉...
-
メッセージボックスの背景色
-
ExcelVBAでフォーム内でブック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAにてメッセージボックスを最...
-
VB.net(VB)で、フォームにExcel...
-
リストボックスの選択解除
-
Googleフォーム・複数人の申し...
-
サブフォームの新規レコードに...
-
Accessでフォームから別フォー...
-
accessで2つ以上のフォームを起...
-
サブフォームの行ごとにコンボ...
-
フォーム上の全てのコントロー...
-
アクセスVBA フォームのス...
-
VBA リストボックスをダブルク...
-
サブフォームのイベント取得
-
メッセージボックスの背景色
-
PDFフォームに本日の日付を自動...
-
VBAでフォームのスクロールバー...
-
Access 無操作の場合、自動で閉...
-
アクセス フォームが存在する...
-
メインフォームからサブフォー...
-
VBプログラムの終了
-
ユーザーフォーム上にアイコン...
おすすめ情報