• ベストアンサー

Excel2002マクロについて

マクロで画像の情報を得たいのですが、どういったコマンドを入力したら画像情報をVBAに取り込めるでしょうか? 例えば、保存してある画像が横ならそのまま貼付、縦なら回転して貼付といったことをマクロでしたいので、画像の縦の長さ、横の長さをVBAに読み出したいのです。 よろしくお願いします。

noname#192965
noname#192965

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

保存してある画像を一旦、シート上に貼り付ければ簡単に分かるような気がしますが・・・ シート上の画像の名前、高さ、横幅、横位置、縦位置、セル位置を表示するようにしてみました。 ご参考に。(Excel2000です) 'シート上の画像を特定 Sub PicturePropertiesShow()   Dim pic As Shape   For Each pic In Worksheets("Sheet1").Shapes     getPictureProperties pic '画像情報を表示   Next End Sub '画像情報を表示(Sub) Sub getPictureProperties(myPic As Shape)   Dim picPrp As String   With myPic     picPrp = "画像名(Name):" & .Name     picPrp = picPrp & vbCrLf & "高さ(Height ):" & .Height     picPrp = picPrp & vbCrLf & "横幅( Width ):" & .Width     picPrp = picPrp & vbCrLf & "横位置(Left ):" & .Left     picPrp = picPrp & vbCrLf & "縦位置( Top ):" & .Top     picPrp = picPrp & vbCrLf & "セル(address):" & .TopLeftCell.Address   End With   MsgBox picPrp End Sub

noname#192965
質問者

お礼

ありがとうございます。 貼り付けてからですね。 これを、貼り付ける前から、情報を得るようにはできないでしょうか? 例えば、画像の挿入の次に、画像を選択しますが、その画像をクリックした段階で、縦長か横長かを判断できないでしょうか?

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

>その画像をクリックした段階で、縦長か横長かを判断できないでしょうか? 主旨がよく分からないので答えになっていないかもしれませんが・・・ 読み込んでいない画像の縦横の取得については分かりませんので、私なら、事前に対象ファイルを読み込んで情報をカタログ化しておいて、マクロで一括処理し易いよう考えるかもしれません。*.jpgとか拡張子で判別でき、順次、見えないシートに貼り付けて画像情報を取り込んでいけばたいした処理ではないように思えます。ただ、Excel97やExcel2000しか使っていないので、『画像の回転』がピンときませんね。 MougにExcelを使った画像管理がありましたのでご参考に・・・ Shapeを使って画像管理-UserPictureメソッド http://www.moug.net/cgi-bin/technic.cgi?exvba+TI12010013

noname#192965
質問者

お礼

ありがとうございます。 まだ使い慣れていないもので、どれが一番効率いい方法なのか?ということはまだまだわかりません。 とりあえず、できそうなことをやってしまっています。。 URLとても参考になります。 ただ、まだ初心者なので、理解するのに時間がかかりますが。。。 ありがとうございました。

関連するQ&A

  • Excel2002のマクロについて

    マクロを使って、画像を貼付で困っています。 流れは、セルを選択し画像を写真サイズにして、回転させて貼り付けているのですが、選択したセルの左上角にあってくれません。 おそらく、回転前の角をあわせて、それから回転してしまっているのだと思います。 これを、回転させた画像がセルの左上角に合うように、画像の挿入をしたいのですが、マクロをどう記述すればいいのでしょうか? 教えください。

  • エクセルで<名前をつけて保存>するマクロに、保存時マクロを含めて保存させることは可能ですか

    エクセル、マクロとも初心者です。 (VBAはわかりません) エクセルのテンプレートファイルを開いて、必要箇所だけ入力すると、その日の日付をファイル名として、<名前を付けて保存する>ようなマクロを作りました。 このままだと、マクロも一緒に保存されてしまいますよね。 マクロを含まずに、<名前を付けて保存>させるマクロって可能ですか? できるとしたら、どうやればいいでしょうか。

  • 【Excel365】マクロを削除するマクロ

    特定のシート(仮にAとします)に添付画像のマクロ(別のマクロを実行するマクロ)を組み込んであります。 シートAをコピーしてシートBを作成し、値コピー・行削除などいろいろ編集した後にxlsxとして保存するという作業をしています。 しかし、シートBにも画像のマクロが組み込まれたままなので、1行目を削除するとマクロ「更新」が実行されてしまいます。 シートをコピーした後、画像のマクロを削除する方法はありませんか? 各Q&Aサイトをググるといろいろ出てきますが、理解できませんでした。 もしくは、シートAとそっくりなシート(ページレイアウトや書式もそのままでデータのみ値コピー)を作成するマクロの提示でも構いません。

  • Excel2013 マクロ''を実行できません

    Excel2013で既存のブックを開こうとすると 「マクロ 'PushMsg'を実行できません。・・・」(画像添付参照) と表示されます。 開こうとするブックにはマクロ(VBA)はありません。 右クリックで「新規作成」では開く事はできます。 又、マクロ有りのブックに対しても同じ現象です。 新規作成で開いたマクロ有りのブックについては正常にマクロは動きます。 ただ、 新規作成で開く→名前をつけて保存→閉じる→ 保存したブックを開く→上記又は画像添付のエラーがでます。 エラーがでるまでの経緯は以下のとおりです。 1.以前は問題なく開く事ができます。 2.Access2016をインストール。 3.上記のエラーが発生。 4.Access2013のruntimeを以前インストールしていたのでアンインストール。 5.やっぱり上記のエラーが発生。 6.Office2013の修復。(オンライン修復) 7.やっぱり上記のエラーが発生。 いろいろと調べましたがわかりません。 なにかわかる方、教えて頂ければ幸いです。 宜しくお願い致します。

  • Excel:VBAブック保存時にマクロをはずずには

    すでにマクロが組まれているファイルを、名前をつけて別のファイルに保存するときに、 新しく保存するファイルからはマクロをはずして保存させるにはどの様にしたら良いのでしょうか。 名前をつけて保存することも、VBAで動作させます。 ファイル保存時ではなくとも、マクロをはずずVBAを教えてください。 何卒アドバイスを下さいますよう宜しくお願いいたします。

  • [Excel マクロ] セルをそのまま BMP で保存する方法

    Excel マクロでセルをそのまま BMP で保存する方法を 教えて下さい。 Alt + PrintScreen キーでスクリーンキャプチャを取る方法は 知っているのですが Excel マクロで処理したいので。 http://www2s.biglobe.ne.jp/~iryo/vba/VBA14c.html 14-54 選択したセルをBMP画像で保存 に外部でペイントを起動し SendKeys で処理する方法を 見つけたのですが、もっとスマートに実現する方法は 無いのでしょうか。 エクセルのバージョンは 2000 です。 よろしくお願いします。m(_ _)m

  • 【EXCEL2007】 VBA(マクロ)の編集

    EXCEL初心者です。 マクロというものを最近知り、マクロ作成の練習をしているところです。 今こういったことで悩んでいます。 ■『「上書き保存しますか」というメッセージ』で「いいえ」が押された場合に、 『「保存する」という動作をしない(Exit sub)』というソースを 書きたいが、どのようにソースを作成すればいいのか。 ■現在こういった『VBA(マクロ)』を作成しています。 『(1)「B2」セルに文字を入力 (2)マクロ機能を登録した「ボタン」をクリック (3)「B2」セルに入力した名称で「新しいブックを作成」 (4)そのブック名称で指定先に「保存」する。』 今のところ、「マクロの記録」でそういうプログラムを作ること自体は勝手にできてくれました。 「B2」セルに「SampleSheet」と入力して、ボタンを押せば、 「SampleSheet」という「名称」で「新しいブックを作成」することはできています。 ■ですが、例えば「B2」セルに入れた名称が、『保存先にすでにあり』 「上書き保存しますか」というメッセージが出た場合、 上書き保存したくないので、「いいえ」ボタンを押すと 「エラーメッセージ」が出てしまいます。 そこで、 『「上書き保存しますか」というメッセージ』で「いいえ」が押された場合に、 『「保存する」という動作をしない、そのマクロ自体を終了する(Exit sub)』というソースを 書きたいんですが、どのようにソースを作成すればいいのかがわかりませんでした。 ■参考ソースをのせていただけると助かります。 ご回答、よろしくお願いします。

  • EXCEL2003の「マクロを含んでいます」の表示

    会社でEXCEL2003を使っています。 EXCELで毎月する作業があるのでマクロを組んでPersonal.exeに保存 しました。そうしたらその後作成して保存したExcelファイルは マクロを使っていなくても全部開く時に「セキュリティ警告/ ”(ファイル名)”はマクロを含んでいます」と出るようになって しまいました。 他の人から表示がでると面倒なのでVBAの画面で標準モジュールの中の MODULE1~を削除するよう言われてやっているのですが、マクロが 増えてきてこのMODULE1~をいちいち削除するのも大変でなりません。 新規ファイルを保存する時にこの標準モジュールの部分が保存されないようにする方法はありませんか?

  • Excel2007 印刷マクロ

    マクロを使って縮小印刷したいのですが,うまくいきません。 データシートと印刷シートが分かれていて,印刷シートはA4縦です。 通常はこれで問題ないのですが,データ確認のために 縮小して印刷することがあります。 A4縦をA4横に印刷し,1枚目は左側,2枚目は右側。 3枚目は次の用紙の左側,4枚目は右側にしたいのです。 Zoom = 71とOrientation = xlLandscapeを使うと, 用紙は横になり,縮小されますが,用紙の中央に印刷されます。 印刷ボタン(マクロの登録)は2つ作り, 1つは通常用,もう1つは縮小用を割り当てようと思ってます。

  • AcrobatでPDFファイルを作るとき・・・・・

    Acrobat 5.0を用いて、スキャナから読み取った画像をPDFファイルにしました。 画像は3枚で、「縦」「縦」「横」の向きになってます。 保存するときにはキチンとその向きになっているのですが、一度そのファイルを閉じてまた開くと、90度回転し「横」「横」「縦」の向きになってしまいます。 配布資料として使いたいので、向きを直したまま保存をしたいのですが、方法がわかりません。どなたか助けて下さい。Win 98、元画像は.tifです。

専門家に質問してみよう