[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『シートに BMPファイル(.BMP)形式として画像を貼り付ける』(KLY)
ネット検索しても見当たらなかったので投稿します。
挿入⇒画像から貼り付けると図として貼り付けられるので
本来のBMPファイル(.BMP)としてなくなる。
完全なBMPファイル(.BMP)として貼り付けるにはどうしたらいいでしょうか。
続けて検索してみます。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
(γ) 2018/07/29(日) 22:21
または、BMP形式って多色対応や4で割り切れない画素数等を考えなければ、フォーマットは難しくないので、1画素毎または1ライン毎にバイナリを文字列化してシートにセットするようなマクロを作成。 表示はこれを元にImageコントロールで表現し、ファイル出力ならば逆変換してバイナリ化するとかなら、オリジナルのBMPを保持できるでしょう。(画素数が少ないなら、1セルで1ドットを表現したExcel方眼紙にするとか?)
まぁ、普通はそんな面倒な事はせず、特定フォルダに画像ファイルをコピーしておく程度かと思いますが、どこまで頑張るかは用途次第ですね。
(???) 2018/07/30(月) 09:21
>仮にできたとして、それをどう使うのでしょうか。
(γ) 2018/07/29(日) 23:15
ユーザーフォームに貼り付けてアイコンの代わりにとして使用します。例として
フロッピーディスク画像は保存、プリンター画像は印刷としてそれぞれのコマンドボタンに貼り付けます。
>特定フォルダに画像ファイルをコピーしておく程度かと思いますが、どこまで頑張るかは用途次第ですね。
(???) 2018/07/30(月) 09:21
エクセルファイルと同じフォルダーに画像を保存して
オブジェクト.Picture = LoadPicture(画像が保存されているPath)で読み込んでいました。
エクセルファイルが移動されたため画像が読み込まれなくなったので
これを避けるためにシートに画像を貼りつけてユーザーフォームから呼び出したいのです。
現在も模索中です。
(KLY) 2018/07/30(月) 13:43
それならば、シートにもActiveXのImageコントロールを貼っておき、任意の画像をPictureプロパティに指定しておきます。 これならば、画像はブック内に保存されます。 シート上で画像を見せたくない場合は、「検索と選択」画面から非表示にしておけば良いでしょう。
そして、UserForm内で以下のようにすれば、画像を切り替えることができるでしょう。
Image1.Picture = Sheets(1).OLEObjects("Image1").Object.Picture (貼り付け先は、Image1 を CommandButton1 にすれば、ボタン画像になります) (???) 2018/07/30(月) 15:21
※https://blogs.yahoo.co.jp/gogowaten/12475950.html
※ワークシート上にある画像をユーザーフォームで使うには
(KLY) 2018/07/30(月) 17:00
ちなみに、画像の数によるかと思いますが、ブック内には画像データを入れない方が、ブックが軽くて良いかもしれません。 別の画像と入れ替えたり、追加するのが面倒に思えますし。
ブックのあるフォルダに「Image」とかフォルダを用意し、ここに切り替える画像を全部置いておいて、LoadPicture で切り替えるという、ほぼ元の案のままでも良いように思いました。 フルパスで指定するのではなく、画像数が少ないなら、上記の案で良いと思います。(ブックのあるフォルダは、ThisWorkbook.Path で判るので)
(???) 2018/07/30(月) 17:18
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.