プロが教えるわが家の防犯対策術!

いつもみなさまの的確な回答で助けられています。

エクセルでの質問ですが、

エクセルのセルに写真データを貼り付けて、
さらにその貼り付けサイズに合わせて、
セルの列幅、行高さを自動で変える方法はありますか?

簡単な工事の写真付報告書を作りたいのでよろしくお願いします。

A 回答 (8件)

取りあえず、下記のようなマクロで、最後に挿入した写真のサイズが変更されます。


マクロ実行前に、写真をクリックして選択する必要はありません。

Sub 写真サイズ変更2()
  Dim pic As Object
  
  Set pic = ActiveSheet.Pictures(ActiveSheet.Pictures.Count)
  With pic.ShapeRange
    .LockAspectRatio = msoTrue
    .Height = 255#
    .Width = 340.5
  End With
End Sub

「写真の挿入マクロ」も、現在、手作業で行っている「写真の挿入」作業を「マクロの記録」してから組んでみてください。
    • good
    • 0
この回答へのお礼

ありがとうございました。

早速つかわせてもらいます!

お礼日時:2008/09/08 13:06

>作ったマクロは「高さ9cmマクロ」だけなのです。


>写真挿入マクロはありません。
>
> (省略)
>
>で、図をクリックして
>「高さ9cmマクロ」ボタンを押すようにしてるのです。

では、「高さ9cmマクロ」を掲載してみてください。
対処法を検討してみます。
    • good
    • 0
この回答へのお礼

Sub 写真サイズ変更()
'
'
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = 255#
Selection.ShapeRange.Width = 340.5
End Sub

どうでしょうか。

お礼日時:2008/09/06 16:45

一例ですが下記のようにして、「写真挿入マクロ」の中で「高さ9cmにするマクロ」を実行できます。


処理対象物の受け渡しをキチンと行うように気をつけなければなりません。

Sub 写真挿入マクロ()
  '
  '写真挿入処理
  '
  Call 高さ9cmにするマクロ
End Sub

Sub 高さ9cmにするマクロ()
  '
  '高さ9cmに処理
  '
End Sub
    • good
    • 0
この回答へのお礼

すみません、説明が足りませんでした。

作ったマクロは「高さ9cmマクロ」だけなのです。
写真挿入マクロはありません。

今のやり方は、
普通に「図の挿入」で写真をはりつけたら
高さ26cmとかになりますよね。
で、図をクリックして
「高さ9cmマクロ」ボタンを押すようにしてるのです。

お礼日時:2008/09/06 16:19

>できたのはマクロ発動用のボタンを作りました。


>次に貼り付けた図を指定してから
>高さ9cmにするマクロ記録始めたのですが、
>これでは貼り付けてから毎回ボタン押して自動サイズ変更なので、
>一手間かかっちゃうのです。
>その一手間を省きたいのですが…

「マクロ発動用のボタン」で、「写真挿入マクロ」が起動するのですか?
「高さ9cmにするマクロ」を「写真挿入マクロ」に組み込めば良いとおもいます。
あるいは、「写真挿入マクロ」から「高さ9cmにするマクロ」を実行するようにしても良いとおもいます。
    • good
    • 0
この回答へのお礼

返信ありがとうございます。

やりかたマズかったのかな(汗
えと、フォームでボタンをつくって、
そのボタンにマクロを登録したんです。

記録したマクロは、
図を指定して、記録開始。
1、図の書式設定クリック
2、サイズ→高さ9cm
記録終了。

写真はいろんなフォルダから引っ張るので、
エクセルのセルに写真を貼り付けた瞬間に
自動で「高さ調整マクロ」が起動するような方法が知りたいのです。

マクロでいけますか?

お礼日時:2008/09/06 15:17

>できればコードも教えていただきたいのですが(ボソ


ANo.3で提案した「マクロの記録」で参考コードを取って、それを掲載してみてください。
    • good
    • 0
この回答へのお礼

参考コードを載せたかったのですが、
手順で行き詰っちゃいました(ToT)

貼り付けた「図」のサイズの高さを自動的に9cmにするには
どういう手順でマクロ記録したらいいのでしょうか?

できたのはマクロ発動用のボタンを作りました。
次に貼り付けた図を指定してから
高さ9cmにするマクロ記録始めたのですが、
これでは貼り付けてから毎回ボタン押して自動サイズ変更なので、
一手間かかっちゃうのです。
その一手間を省きたいのですが…

手順のヒントを教えていただけませんか?

お礼日時:2008/09/05 11:17

Excelで、自力でやるなら



≪1≫Imageコントロール
コントロールツールボックスにあるImageコントロールを使えばどうでしょうか。
コントロールのサイズに応じて画像サイズの自動調整ができます。
難点は、ファイルサイズが大きくなることと、手間がかかることです。

(1)ツールバー[コントロールツールボックス]を表示
(2)、[イメージ]コントロールをシートに配置
配置直後は[デザインモード]になります。
(3)[イメージ]コントロールを右クリック
(4)メニューから[プロパティ]をクリック
プロパティダイアログボックスが表示されます。
(5)(オブジェクト名)の[PictureSizeMode]をクリックし、
右側の▼をクリック、[3-fmPictureSizeModeZoom]に設定
(6)(オブジェクト名)の[Picture]をクリックし、右側の[...]をクリック
「ピクチャーの読み込み」ダイアログボックスが表示されます。
ダイアログボックスで、写真ファイルをクリックすれば写真が挿入されます。
作業後[デザインモード]の解除を忘れないでください。

≪2≫マクロ
上記の方法もマクロを組めば簡単になりますが、ファイルサイズが大きくなるのが難点です。
[図の挿入]ならファイルサイズが大きくならずにすみます。
図の挿入とサイズ調整作業を「マクロの記録」すればどうでしょうか。参考になるコードが得られます。
得られたコードを加工編集して汎用性のあるコードにすれば良いとおもいます。

興味があれば取り組んでみてください。
    • good
    • 0
この回答へのお礼

おお!すごい!
ただ、おっしゃるとおり手間がかかりますね…
でもやりたいのはこういう事です。

マクロですか、マクロは根本的にわかってなくて
いままでコードもコピペばっかり。
参考書読んでも理解できませんでした(泣

できればコードも教えていただきたいのですが(ボソ

お礼日時:2008/08/28 16:16

縮小専用ってソフトがあります


http://www.vector.co.jp/soft/dl/win95/art/se1536 …

これでいったん全部480x320とかにサイズ統一したあと貼り付ければいいと思います。

あとは工事写真専用ソフトを使うかですね
http://www.vector.co.jp/soft/win95/business/se39 …
    • good
    • 0
この回答へのお礼

縮小専用!?
興味のわくソフトですね!
試してみます。

ありがとうございました。

お礼日時:2008/08/28 16:03

簡単な方法では、


写真の角にカーソルを当てると両矢印が出ます。それを斜めに下げれば縮小されます。反対にやれば拡大します。
自動的にやる方法は知りませんが、いっぺんに縮小拡大する方法はあります。
エクセルで無ければ、市販ソフトがあります。工事写真用の。
個人でなく会社なら買ってもらえばいいのでは、そんなに高くありません。
    • good
    • 0
この回答へのお礼

早い回答ありがとうございます。

市販ソフトですよね。
何個か持っているんですが、使い難くて…

写真ソフトのように
セルの大きさ決めていて
そこに写真データ貼るとセルに合わせて
写真が小さくなってくれる方法なんてのが理想です。

お礼日時:2008/08/27 09:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!