• ベストアンサー

EXCELのShape画像をVBAのフォームに表示するには

EXCELのShape画像をVBAのフォームに表示するには はじめまして EXCEL2007-VBAを勉強中です。 EXCELのShape画像をVBAのフォームへ表示したいのですが、どのように書けば よろしいのでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

時たま出てくるご相談です。 一度ファイルとして保存し,ユーザーフォーム上に配置したImageコントロールにLoadPictureさせる方法: http://www.keep-on.com/excelyou/2001lng4/200107/01070408.txt とか, クリップボードから直接ユーザーフォームに画像を投影する方法 http://www.moug.net/faq/viewtopic.php?t=49182 および回答でリンクされているAPIの方法を参照 とか, がしばしばご紹介されていると思います。

その他の回答 (1)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

フォームに直接描画する訳ではありませんが、AutoShapeをクリップボードにコピー後、http://social.msdn.microsoft.com/Forums/en/isvvba/thread/bee14a74-06fd-4924-baf7-c09bd1cd2d4a のPastePicture関数を用いて、 Sub test() UserForm1.Show vbModeless Set UserForm1.Picture = PastePicture(xlPicture) End Sub という様に出来ます。 AutoShapeだけでなく、グラフや、画像とAutoShapeの組み合わせ等にも適用可能です。 当方xl2000環境なので、2007で動くかどうか分かりません。

関連するQ&A

  • VBAで抽出した画像の数枚をフォームに表示

    VBAで指定したURLにある画像を抽出し、その画像をExcelシートに貼るものを作りましたが、そのうち3枚くらいをユーザフォーム上にも表示したいのですが、どのように記述したらよいでしょうか? 教えていただけたら幸いです。

  • VBAのロジックでEXCEL上にShape図形があるかないかをチェック

    VBAのロジックでEXCEL上にShape図形があるかないかをチェックするには EXCEL2007-VBAを勉強中です。 EXCELシート上にShape図形があるかないかをチェックするには どのように書くのでしょうか どうぞ宜しくお願いします。

  • Excel VBAでユーザーフォームだけ表示

    Excel VBAでユーザーフォームだけ表示の設定をしました。エクセルの中身や、コードを修正したいのですが、エクセルを開くことができません。なんとかエクセルを開くことはできませんでしょうか?

  • EXCEL VBAのフォームについて

    EXCEL VBAでフォームを表示したときに、最小化ボタンを表示させることは出来ないのでしょうか。 通常、フォームを表示させると、右上にXのボタンのみ表示されますが、通常のWindowsの画面の最小化ボタンを表示させる方法が、判りません。 この機能は、EXCEL VBAには実装されていないのでしょうか。また、最小化ボタンでなくてもかまいません。要は、やりたいことは、表示されているフォームを一時的に最小化する為に、その機能を実装したいと言うことです。ご存じのかたおりましたら、教えて下さい。 当方の環境はwindows-xp excel-2000です。

  • エクセルVBAのフォームの表示する文字を見やすくしたい

    エクセルVBAでフォームを作りました。 使いやすくするために テキストボックスの文字を大きくしたり、 大きなテキストボックスでは文字を折り返し表示をさせたりしたいのですが、どうすればいいかわかりません。 教えてください。

  • VBAを使ったエクセルでの画像複数表示

    VBA初心者です。エクセルで商品カタログを作るため、品番に紐付いた商品画像ファイルをエクセル上に読み込む方法は他の回答から分かったのですが(http://oshiete1.goo.ne.jp/qa2880877.html)、見る限り「1シート=1商品」というものしか見つけられませんでした。同シート上に2つ以上の「品番⇒画像」という表示をするためのVBAはどのように組めばよろしいでしょうか? VBAもよく勉強しないで恐縮ですが、どなたかご回答いただけますでしょうか?宜しくお願い致します。

  • Excel非表示行中のshapeが移動できない

    Excel VBAで不明な点がありましたので、質問させてください。 オートシェイプ(四角形/msoRectangle)を、VBAで移動、変形させていたのですが、オートシェイプのある行を非表示にした場合、表示している行以外に移動させても、オートシェイプが表示されません。 ・shapes.Topやshapes.Leftは変更されています。 ・shapes.visibleもmsoTrueです。 ・activesheet.activateでシートを更新してみても表示されません。 ・該当行を非表示から表示にしたら、変更後の位置、大きさにオートシェイプが出現します。 これは、エクセルの仕様(バグ)なのでしょうか? それとも、何か別の設定を行えば、行を非表示にしたまま、オートシェイプを別の位置に移動(出現)させることができるのでしょうか? どうか、皆様のお知恵をお貸しください。 OSはWin7Pro 32bit、Excelは2010です。

  • VBAで画像を表示する方法

    VBA初心者です。ExcelのVBAでプログラミングの練習をしています。 早速ですが質問させてください。 ユーザーフォーム上にコマンドボタンをクリックすることにより画像を表示させることはできるのですが、これをユーザーフォームを開いた瞬間に自動的に表示させる方法はないのでしょうか? ちなみに現在は以下のようにしています。 Private Sub CommandButton1_Click() Image1.Picture = LoadPicture(" ") End Sub インターネットで調べてみても見つからないので質問させてもらいました。分かりにくい説明でしたらすみません。

  • Excel(VBA)

    Excel(VBA)で、指定範囲内にオートシェイプがあるかを判定し、あれば○,なければ×を表示する事は可能でしょうか?

  • EXCEL VBA ユーザーフォームの大きさについて

    EXCEL VBAでユーザーフォームの大きさが表示画面より 大きくなったため、下の表示されない部分のテキスト ボックス等に入力出来ません。対処法はありますか。

専門家に質問してみよう