アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel2000でa.gifをはりつけたシートが10あるとします。
画像は同じa.gifですが、それぞれ別の文字がかかれています。

a.gifを頻繁に新しい物と更新したいため
a.gifの新しい物を元あった古いa.gifの物と交換して同じ場所に保存します。


10シート一括で新しいa.gifと交換したいのですが
シフトで10シート選んでも画像の処理はできませんでした

元のa.gifと同じ場所に起きたいため
貼り付け作業が10シートあるとかなり面倒です。


a.gifを新しく上書きしただけで
Excelに自動的に画像が更新される方法か
(WEB作成的な)

Excelの動作で複数のシートの画像方法を教えてください

A 回答 (4件)

Sub test()


  Dim x As Variant
  x = Application.GetOpenFilename("gif,*.gif")
  If VarType(x) = vbBoolean Then Exit Sub
  With ActiveSheet.Shapes.AddPicture(x, msoTrue, msoFalse, 0, 0, 0, 0)
    .ScaleHeight 1, msoTrue
    .ScaleWidth 1, msoTrue
  End With
End Sub

上記のマクロで挿入した画像は元ファイルとのリンクを保持します。
なので1回だけ実行すれば後はマクロ不要です。

#念のため、マクロ実行方法。
[Alt]キー押しながら[F11][i][m]。
アクティブなBookに「標準モジュール」というものが追加されます。
その白背景ウィンドウ(カーソルがある位置)に
上記マクロ Sub test()~End Sub までをコピー&ペースト直後[F5]キー、で実行です。

画像挿入後、必要であればサイズなどを適宜修正し、
必要なシートにコピーしてください。



元のファイル(例えばa.gif)を同名上書きして更新した後に
Bookを開き直せばシート上の画像が更新されます。
    • good
    • 0

添付画像では解らないので


こちらに
https://picasaweb.google.com/1149485451777490668 …
左から元のaaaaa
2222ファイルのシート2 
2222ファイルのシート1
bbbbファイルのシート2 
bbbbファイルのシート1
シート1・2に各5画像づつ計10画像 マクロで自動的に挿入しました。
    • good
    • 0

入れ替えは出来ませんでしたがマクロで自動で画像の挿入(貼り付け)は出来ました。


地味ですが1回総てのシートに画像の挿入作業を行えば次回は自動処理で行えます。

準備
・画像のサイズを記録し画像を総て削除し仮に「aaaa」と名前を付け保存します。
・貼り付ける専用のフォルダーを作ります。
・専用のフォルダーに挿入する画像をコピーし貼り付けます。
・詳細表示にして挿入する画像を上から順番に並べます。
・画像総てを選択し一番上の画像で右クリックし「名前の変更」で仮に[a]とします。
 以下の画像は[a(1)][a(2)]と一連番号がつきます。
参考URL
http://www.geocities.jp/laut6/excel/excel1.html
http://enjoy-pc.info/4/15/000643.html

マクロの記録
・aaaaファイルを開き「新しいマクロの記録」を行います。
・画像を挿入しサイズを調整をくりかえします。
・挿入が完了したらマクロの記録を終了しaaaaファイルを上書き保存します。
・aaaaファイルを開き画像を総て削除し上書き保存します。

マクロの実行
・専用フォルダーの画像を削除し新たに挿入する画像をコピーし貼り付け
・準備で行ったと同じファイル名[a,a(1),a(2)・・・・・・]に変更します。
・aaaaファイルを開きマクロを実行します。
 (画像が自動的に挿入されます。)
・自動処理が完了したら「名前を付けて保存」で本来のファイル名前で保存します。
マクロの参考URL
http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/vb …

ユーザー設定でツールバーにコマンドの挿入「図をファイルから挿入」を追加しておくと挿入の作業が楽になります。
http://www.eurus.dti.ne.jp/yoneyama/Excel/mous_j …

注意:
・画像の専用フォルダはの保存場所を移動するとエラーが発生します。
「Excel 画像置き換え?」の回答画像2
    • good
    • 0

操作だけでやれるかな。

無理な気がする。
ーー
下記でやってみた。
Sheet1にImageコントロールを貼り付ける。(コントロールツールボックスのImage)
そのコントロールに画像を貼り付ける。(プロパティのPictureで指定)
位置や大きさは都合よく決めて、他のシートに於いても、これに習い同じ位置・大きさにするものとする。
標準モジュールに
Private Sub test01()
Worksheets(1).OLEObjects (1)
t = Worksheets(1).OLEObjects(1).Top
l = Worksheets(1).OLEObjects(1).Left
h = Worksheets(1).OLEObjects(1).Height
w = Worksheets(1).OLEObjects(1).Width
For i = 2 To 3
Worksheets(i).DrawingObjects.Delete
Worksheets(1).OLEObjects(1).Copy
Worksheets(i).Paste
Set ig = Worksheets(i).OLEObjects(1)
ig.Top = t
ig.Left = l
ig.Height = h
ig.Width = w
Next i
End Sub
これ実行する。
ーー
Sheet2、Sheet3においてSheet1と同じ場所で同じ大きさで、同じ画像が出現するはず。
上記例では2シートに複写しているが、10シートの場合はFor i = 2 To 10になる。
===
留意事項
1シートに1ピクチュアーボックス、1画像に限る。他にコントロールがない物とする。
作る対象のシートをシートタブ的に左に10シートなりを集めておくこと。
一番左のシートを基にする。
--
この辺はVBA情報も少なく、経験・勉強不足で、もっと良いやり方があるかもしれない。
エクセルに画像を貼り付けて、何かの仕事で使うようなのは、エクセルに過ぎたニーズだと思うのだが。
    • good
    • 0

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