• ベストアンサー

Application.GetOpenFilena

excelvbaです。 Application.GetOpenFilenameで画像ファイル(.jpg)を読み込んだ時、 幅や高さの調べ方を教えてください。 「読み込んだ画像ファイル」.width 「読み込んだ画像ファイル」.height とやるのだと思うのですが、 この「読み込んだ画像ファイル」の具体的な書き方が分かりません。 set XXX = yyy xxx.width xxx.height とやるのだと思うのですが。 宜しくお願いします。

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

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

>画像ファイル(.jpg)を読み込んだ時、幅や高さの調べ方 ふつーに読み込んで調べます。 sub macro1()  dim s as string  s = application.getopenfilename()  on error resume next  with activesheet.pictures.insert(filename:=s)   msgbox .width   msgbox .height  end with end sub >excelvbaです。 ご利用のエクセルのバージョンが不明のご相談ですが、マクロを使った画像の取り扱いはエクセルのバージョンに応じて少し違いがある場合があります。ご相談投稿では、普段ご利用のソフトのバージョンまでキチンと明記する事を憶えて下さい。今後のご参考に。

nagahaha
質問者

お礼

早速有り難うございました。 また、何時も有り難うございます。 出来ました。 >キチンと明記する事を  了解です。  チャンと書くときもあるのですが、  意識は薄かったです。  今後は意識して書くようにします。 お世話になりました。

関連するQ&A

  • 別窓で画像を表示する場合に余白が…

    大量に画像を扱って居るのですが、タイトルをクリックすると、別窓でそれぞれの画像が開く様にしています。 サイズは2種類、800*600と1024*768のがあります。 それを↓下のようなscriptで行っていますが、どちらのサイズの窓(画像)も、画像の左と上に余白が少し出て、右と下が切れてしまいます。何処が間違っているのでしょうか? どうすれば、窓のぎりぎり一杯に画像を表示する事ができるでしょうか? どうか、教えて下さい。 ↓ <table width="80%"> <tr> <td> <a href="#" onClick="window.open('../xxx/yyy.jpg','','width=1024,height=768')">グラデーション<font size="1">1024x768</font></a> </td> </tr> <tr> <td> <a href="#" onClick="window.open('../xxx/zzz.jpg','','width=800,height=600')">グラデーション<font size="1">800x600</font></a> </td> </tr> </table> (xxx.yyy.zzzは仮の文字です)

  • CSSでfloat指定した画像に隙間

    floatの指定をすると並べた画像に隙間ができます。 div aで外を囲み、幅を400px固定し、 その中にli(幅200px)を放り込んでいます。 (幅400pxの入れ物に200pxの小箱を2列に並べていく) 画像をfloatさせなければ隙間は出ないのですが、下記cssのようにfloatさせると幅400pxにIEだけ収まりません。 WinXP・irefox1.0やOpera7.5では意図通り表示されます。。 どなたか解決策お持ちの方よろしくおねがいします。 <html> <head> <title></title> <style type="text/css"> <!-- #a{ width:400px; margin: 0 auto; padding:0; } li{ width:200px; padding:0; list-style:none; float:right; display: inline; } img{ border:none; margin:0; padding:0; vertical-align:top; float:left; ←これの有無で不具合 } --> </style> </head> <body> <div id="a"> <dl> <li> <img src="xxx.jpg" width="150" height="200" /><img src="xxx.jpg" width="50" height="100" /><img src="xxx.jpg" width="50" height="100" /></li> <li> <img src="xxx.jpg" width="150" height="200" /><img src="xxx.jpg" width="50" height="200" /></li> </dl> </body> </html>

    • ベストアンサー
    • HTML
  • 正規表現で置換

    その1 $str = "ほげほげほげ<a href="http://xxxx.xxxx.xxx/xxxx/">ほげほげほげ</a>ほげほげ<br /><br /><img src="http://yyy.hoge.jp/hage/hige/xxxx.jpg" width="320" height="240" />ほげほげ"; ↓ $str = "ほげほげほげ<a href="http://xxxx.xxxx.xxx/xxxx/">ほげほげほげ</a>ほげほげ<br /><br /><img src="./foo/faa/fii/xxx.jpg" width="320" height="240" />ほげほげ"; その2 $str = "<img src="http://yyy.hoge.jp/hage/hige/xxxx.jpg" width="320" height="240" />ほげほげほげ<a href="http://xxxx.xxxx.xxx/xxxx/">ほげほげほげ</a>ほげほげ<br /><br /><img src="http://yyy.hoge.jp/hage/hige/xxxx.jpg" width="320" height="240" />ほげほげ"; ↓ $str = "<img src="./foo/xxxx.jpg" width="320" height="240" />ほげほげほげ<a href="http://xxxx.xxxx.xxx/xxxx/">ほげほげほげ</a>ほげほげ<br /><br /><img src="./foo/faa/fii/xxx.jpg" width="320" height="240" />ほげほげ"; このような文字列があった時に、次のように従って置換したいです。 1.imgのタグの内部に、「http://yyy.hoge.jp/hage/hige/xxx.jpg」という文字列があった場合、「./foo/faa/fii/xxx.jpg」という文字列に置き換える。 2.それ以外のURLの場合は置換しない。 3.その1とその2では「xxx.jpg」となっていますが、jpg以外の拡張子の場合も存在する。 4.日本語とURLの位置や個数はバラバラです。 5.URLの中のxxxとyyyは不定の文字列で、hage、hoge、hige、foo、faa、fiiは固定です。 6.使用している言語はPHPです。正規表現を1度だけでできれば理想的ですが、今回は2回に渡った処理でも問題ありません。 以上です。正しく処理できる正規表現、あるいは下記の正規表現の誤りを教えて頂ければ幸いです。 お手数ですが、よろしくお願い致します。 下記の方法では、うまくできませんでした。 $pattern = "/http:\/\/.*?hoge.jp\//"; $replacement = "./"; $str= preg_replace($pattern, $replacement, $str); $pattern2 = '/\/?hage\/hoge/'; $str = preg_replace($pattern2, '/foo/faa/fii', $str);

    • ベストアンサー
    • PHP
  • 画像のランダムチェンジとフェードイン効果

    質問ですが、まず最初に失礼がありましたらお許し下さい。 ​http://oshiete1.goo.ne.jp/qa3495988.html​ での質問に関連していると思うので、例を引用させて頂きます。 横590px縦300のメイン画像があり、その横に横180px縦50pxの画像を6個にしての設置を行います。横の180px縦50px画像をロールオーバーにし、更にその画像にマウスを乗せた時に横590px縦300pxのメイン画像も同時に変えたい・・ ここまでは回答で納得したのですが、メイン画像を一定時間でランダムチェンジさせる事とメイン画像の変化時にフェードイン効果を与える事の2点に挌闘しています。過去の質問ログを全部調べましたが、ないものですね。 <html> <head> <title></title> <style type="text/css"> img{border:1px solid red;} #box0 { width:770px; height:300px; position:relative; } #box mainview{ position:absolute; top:0;left:0; } #box0 ul{ position:absolute; top:0;left:590px; list-style-type:none; margin:0; padding:0; } #box0 li{ margin:0; padding:0; } #box0 li img{ vertical-align:top; } </style> <script type="text/javascript"> function sample(obj,mode){ var images = obj.getElementsByTagName('img'); images[0].style.display = (mode)?'none':'inline'; images[1].style.display = (mode)?'inline':'none'; var idNo = images[0].id.match(/(\d)/); for(var x=document.getElementById('mainview').firstChild; x;x=x.nextSibling){ if(x.id){ if(!mode && x.id.match(/0/) || mode && x.id.match(idNo[1])) x.style.display = 'inline'; else x.style.display = 'none'; } } } </script> </head> <body> <div id="box0"> <span id="mainview"> <img src="xxx0" width="590" height="180" alt="xxx0" id="xxx0"> <img src="xxx1" width="590" height="180" alt="xxx1" id="xxx1" style="display:none;"> <img src="xxx2" width="590" height="180" alt="xxx2" id="xxx2" style="display:none;"> <img src="xxx3" width="590" height="180" alt="xxx3" id="xxx3" style="display:none;"> <img src="xxx4" width="590" height="180" alt="xxx4" id="xxx4" style="display:none;"> <img src="xxx5" width="590" height="180" alt="xxx5" id="xxx5" style="display:none;"> <img src="xxx6" width="590" height="180" alt="xxx6" id="xxx6" style="display:none;"> </span> <ul> <li onmouseover="sample(this,true)" onmouseout="sample(this,false)"> <a href=""><img src="yyy1" width="180" height="50" alt="yyy1" id="yyy1"><img src="zzz1" width="180" height="50" alt="zzz1" id="zzz1" style="display:none"></a></li> <li onmouseover="sample(this,true)" onmouseout="sample(this,false)"> <a href=""><img src="yyy2" width="180" height="50" alt="yyy2" id="yyy2"><img src="zzz2" width="180" height="50" alt="zzz2" id="zzz2" style="display:none"></a></li> <li onmouseover="sample(this,true)" onmouseout="sample(this,false)"> <a href=""><img src="yyy3" width="180" height="50" alt="yyy3" id="yyy3"><img src="zzz3" width="180" height="50" alt="zzz3" id="zzz3" style="display:none"></a></li> <li onmouseover="sample(this,true)" onmouseout="sample(this,false)"> <a href=""><img src="yyy4" width="180" height="50" alt="yyy4" id="yyy4"><img src="zzz4" width="180" height="50" alt="zzz4" id="zzz4" style="display:none"></a></li> <li onmouseover="sample(this,true)" onmouseout="sample(this,false)"> <a href=""><img src="yyy5" width="180" height="50" alt="yyy5" id="yyy5"><img src="zzz5" width="180" height="50" alt="zzz5" id="zzz5" style="display:none"></a></li> <li onmouseover="sample(this,true)" onmouseout="sample(this,false)"> <a href=""><img src="yyy6" width="180" height="50" alt="yyy6" id="yyy6"><img src="zzz6" width="180" height="50" alt="zzz6" id="zzz6" style="display:none"></a></li> </ul> </div> </body> </html> の中に何を追加すれば・・・ ご教授の程よろしくお願いします。

  • FTPに転送したい。ファイル名にスペースはよい?

    ホームページを作成しています。画像のファイル名なんですが、 (1)「xxx yyy.jpg」 (2)「xxx_yyy.jpg] (3)「xxx-yyy.jpg」 (2)が一番理想的のような気がするんですが、(1)でもアップロードできますか? (3)でも、問題ないですか? 実は、ビルダーに付属のFFTPソフトで転送したときはできたんです。 (1)(2)(3)とも 違うFTPソフトでアップロードしたら、(1)ができなかったんですが、 ファイル名の違いですよね。 はやり、文字間にスペースはよくないですか? ホームページ初心者です。よろしくお願いします。

  • エクセル マクロ

    エクセルのある特定のセルをダブルクリックすると 画像ファイルを参照しにいき 貼りつけたい画像ファイル選ぶと そのセルの大きさに合わせて 画像ファイルがそのセルに 貼りつくというマクロが以下の通りなんですが Excel2003からExcel2007へ変更すると 画像ファイルの貼りつく位置がダブルクリックしたセルではない所に 貼りつくようになりました 参照や大きさなどはちゃんと機能しているようです どこを変更すればよいでしょうか? Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range('特定のセル)) Is Nothing Then Exit Sub Cancel = True Dim myPic Dim myRange As Range Dim rX As Double, rY As Double myPic = Application.GetOpenFilename("画像ファイル,*.jpg;*.jpeg;*.gif;*.tif") If VarType(myPic) = vbBoolean Then Exit Sub Set myRange = Target Application.ScreenUpdating = False With ActiveSheet.Pictures.Insert(myPic).ShapeRange rX = myRange.Width / .Width rY = myRange.Height / .Height If rX > rY Then .Height = .Height * rY Else .Width = .Width * rX End If .Left = .Left + (myRange.Width - .Width) / 2 .Top = .Top + (myRange.Height - .Height) / 2 End With Application.ScreenUpdating = True Cancel = True End Sub

  • クリックで次の画像へ

    xxx_yyy_1.jpgからxxx_yyy_10.jpgという連番の画像を [次へ]を押すと次の番号の画像へ [戻る]を押すと前の番号の画像へ という事はできるのでしょうか?

  • CSS画像・文字混在縦メニュー

    画像と文字使った縦メニューを作成しています。 レイアウトがズレたり隙間ができたりでどうしてもうまくいきません。 どうぞお知恵をお貸しください。 よろしくお願いいたします。 【CSS】 @charset "utf-8"; /* CSS Document */ /* ナビ設定 */ #navi1 { margin: 0px; padding: 0px; position: relative; right: 10px; width: 200px; float: right; } #navi1 li { margin: 0px; padding: 0px; position: relative; width: 200px; float: right; } #navi1 #navi1_title { width: 200px; position: relative; } .sub_menu { width: 190px; position: relative; float: right; left: 5px; } .sub_menu ul { list-style: none; border-top: 1px solid #CCCCCC; width: 190px; position: relative; } .sub_menu li { border-bottom: 1px dashed #CCCCCC; background: #F3F0EA url(img/xx.jpg) no-repeat left center; width: 190px; } .sub_menu a { display: block; /*Windows IE対策のため、ボックス幅を指定 */ width /**/: 180px; /*Window IE5用の値を指定 */ color: #666; text-decoration: none; font-size: 11px; padding-top: 4px; padding-right: 4px; padding-bottom: 4px; padding-left: 10px; background-color: #F3F0EA; background-image: url(img/xx.jpg); background-repeat: no-repeat; background-position: left center; left: 3px; } .sub_menu a:hover { color: #666; width: 180px; background-color: #E4DECF; background-image: url(img/xx.jpg); background-repeat: no-repeat; background-position: left center; } 【HTML】 <div id="navi1"> <h2><img src="img/menu1_title.png" width="200" height="50" alt="qqq" /></h2> <ul> <li><img src="img/menu_y.png" width="200" height="32" alt="zzz" /></li> </ul> <ul class="sub_menu"> <li><a href="#">yyy</a></li> <li><a href="#">yyy</a></li> <li><a href="#">yyy</a></li> <li><a href="#">yyy</a></li> <li><a href="#">yyy</a></li> <li><a href="#">yyy</a></li> </ul> <ul> <li><a href="#"><img src="img/menu_a.jpg" width="200" height="32" alt="xxx" /></a></li> <li><a href="#"><img src="img/menu_b.jpg" width="200" height="32" alt=xxx" /></a></li> <li><a href="#"><img src="img/menu_c.jpg" width="200" height="32" alt="xxx" /></a></li> <li><a href="#"><img src="img/menu_d.jpg" width="200" height="32" alt="xxx" /></a></li> <li><a href="#"><img src="img/menu_e.jpg" width="200" height="32" alt="xxx" /></a></li> <li><a href="#"><img src="img/menu_f.jpg" width="200" height="32" alt="xxx" /></a></li> <li><a href="#"><img src="img/menu_g.jpg" width="200" height="32" alt="xxx" /></a></li> <li><a href="#"><img src="img/menu_h.jpg" width="200" height="32" alt="xxx" /></a></li> <li><a href="#"><img src="img/menu_i.jpg" width="200" height="32" alt="xxx" /></a></li> <li><a href="#"><img src="img/menu_j.jpg" width="200" height="32" alt="xxx" /></a></li> <li><a href="#"><img src="img/menu_k.jpg" width="200" height="32" alt="xxx" /></a></li> </ul> </div>

    • ベストアンサー
    • HTML
  • エクセル貼付けの画像がメール添付で表示されません

    下記のようなVBA(ネット公開されているものを利用させていただいています)を使用し、エクセルに画像を貼り付けています。 画像を貼り付けたエクセルを保存後、メールに添付すると貼り付けた画像が表示されなくなります。 ファイルの容量も少なく、エクセルに取り込んだ画像は、リンク貼り付けになっているのかと考えていますが、取り込んだ画像を埋め込むにはどのようにすればいいでしょうか。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _ Cancel As Boolean) Dim myPic Dim myRange As Range '画像を配置するセル範囲 Dim rX As Double, rY As Double myPic = Application.GetOpenFilename("画像ファイル,*.jpg;*.jpeg;*.gif;*.tif") If VarType(myPic) = vbBoolean Then Exit Sub Set myRange = Target 'このセル範囲に収まるように画像を縮小する Application.ScreenUpdating = False With ActiveSheet.Pictures.Insert(myPic).ShapeRange rX = myRange.Width / .Width rY = myRange.Height / .Height If rX > rY Then .Height = .Height * rY Else .Width = .Width * rX End If .Left = .Left + (myRange.Width - .Width) / 2 '写真を横方向の中央に配置 .Top = .Top + (myRange.Height - .Height) / 2 '写真を縦方向に中央に配置 End With Application.ScreenUpdating = True Cancel = True End Sub

  • 正規表現を使いimgタグ内から幅と高さサイズを抜き出し

    正規表現を使いimgタグ内から幅と高さサイズを抜き出し phpにて正規表現を使い html の imgタグ内の width = "xxx" height = "xxx" を各々抜き出しその数字も個別に抜き出したいと思っております。 正規表現で行き詰っており、お知恵を拝借できればと思っております。 説明がわかりづらいかと思いますが、よろしくお願いしたいと思います。 下記のような文字列より <img src="http://test.co.jp/img/test01.jpg" alt="テスト画像です。" title="テスト画像です。" width="361" height="640" class="size-full wp-image-100" /> width="361" height="640" を個別に取りだし さらにその中の数字"361"を取り出したいと思っております。 正規表現に不慣れなので、お知恵をお借りいただけないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう