• ベストアンサー

エクセルに貼った画像の自動更新

ウェブ上で毎日更新される画像があり、それをコピーしてエクセルに貼り付ける作業をしているのですが、毎回手作業でコピペしています。沢山あるので、自動更新する方法はないかと思案しています。 ただし、自動更新する前の状態のファイルは前日のデータとしてそのまま別のファイルとして保存しておきたいのですが、そういったことは可能でしょうか? ちなみに、その更新される画像のURLは変化することなく固定です。 なにかよい方法があれば教えて下さい。よろしくお願いいたします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。Wendy02です。 >html形式のファイルで編集して最新のデータを作成。その後、他のファイル形式(エクセル、ワードかPDFあたり)で保存すれば でしたら、Html ファイル自体を名前を換えて、日付などを番号にして保存するという方法もあると思います。画像保存のための、下位フォルダが掘られてしまいますけれども。ExcelやWordの場合は、画像自体を別のものに換えてしまいます。だから、元の画像を失っても、Office上には残ります。その分、ファイルサイズは、ものすごく大きくなります。Html形式で保存していれば、格段にファイルサイズは小さくてすみます。もちろん、pdfが一番軽いし手軽で、管理しやすいですね。何よりも安定しています。 それと、以前使っていたの記憶だけですが、「ダウンロードNinja 」は、時系列で並べますが、それも、自動的に特定の時間に取得してくるということをしていましたね。とにかく、私のマクロのように1個1個ではなく、3個同時とかですから、猛烈に採取するのが速かったでした。なぜ、今はやっていないかというと、あれもこれもやっていたら、膨大な情報量になって管理できなくなってしまいました。^^;

aiueo-22
質問者

お礼

こんにちは。何度もありがとうございます。 フロントページでのレイアウトが完了しました。 画像の挿入は直接web上のファイルを指定したので、これ以降画像の張り替えは不必要となりました。 毎日一度IEでファイルを開いてPDFに変換するのを忘れないようにするだけでよくなりました。\(^o^)/ いろいろご助言有難うございました。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。#1 のWendy02です。 以下のサイトを元に、作ってみました。 http://homepage.mac.com/catincat/photo/flowers/index.html 注意:Excelでは、URLを貼り付けただけでは、ハイパーリンクにはなりません。必ず、一度、クリックして、ハイパーリンクで、画像入手先を確認する必要があります。 ハイパーリンクになっていないと、このマクロは作動しません。 シートに、コントロールボタンなどで、ボタンを貼り付け、呼び出し(Call)してください。 'シートモジュール '---------------------------------------------------- Private Sub CommandButton1_Click() 'コマンドボタン用  Call Main End Sub '---------------------------------------------------- 以下は、必ず、標準モジュールに登録して、 '---------------------------------------------------- '標準モジュールに設定します。 Option Explicit 'ツール-参照設定:Microsoft Internet Control Private IE As InternetExplorer Private cnt As Integer Sub Main() Dim c As Range 'B2 を基点に、B列に隙間なくURLを書く  '明示的に、オートメーションオブジェクトをつくる Set IE = CreateObject("InternetExplorer.Application")   For Each c In ActiveSheet.Range("B2", ActiveSheet.Range("B65536").End(xlUp)) '必ず、URLデータは、ハイパーリンクでなくてはなりません。 'ハイパーリンクで、入手先を事前にチェックしてください。 If c.Hyperlinks.Count > 0 Then  If Len(c.Offset(-1).Value) > 1 Then   GetImage_IE c.Hyperlinks(1).Address, c.Offset(, -1).Value  Else   MsgBox "セル番地とURLのどちらかが不足しているので、終了します。", vbCritical   GoTo Quit  End If End If Next c Quit: IE.Quit Set IE = Nothing End Sub Sub GetImage_IE(ByVal URL As String, ByVal strRng As String) Dim FileName As String Dim shp As Shape FileName = Mid(URL, InStrRev(URL, "/") + 1) On Error GoTo ErrHandler   With IE   .Visible = False '非表示   .Navigate URL   Do While .Busy    DoEvents   Loop   Do Until .ReadyState = 4    DoEvents   Loop   If InStr(.Document.mimetype, "Image") > 0 Then   .ExecWB 17, 0 'SelectAll   .ExecWB 12, 0 'Copy   'シートの画像のチェック   Application.ScreenUpdating = False   For Each shp In ActiveSheet.Shapes   If Not Intersect(Range(shp.DrawingObject.TopLeftCell, shp.DrawingObject.BottomRightCell), Range(strRng)) Is Nothing Then    shp.Delete   End If   Next shp   ActiveSheet.Range(strRng).Select   ActiveSheet.Paste   Application.ScreenUpdating = True   End If   DoEvents       cnt = cnt + 1 ErrHandler:  If Err.Number > 0 Then  MsgBox Err.Number & " : " & Err.Description & vbCrLf & _  cnt & "回目で失敗しています。終了します。"  IE.Quit  Set IE = Nothing  End End If End With End Sub '---------------------------------------------------- ワークシート '----------------------------------------------------  A    B 1 位置  写真のURL 2 A15  http://homepage.mac.com/catincat/photo/flowers/preview/flower1.jpg 3 A20  http://homepage.mac.com/catincat/photo/flowers/preview/flower2.jpg 4 A25  http://homepage.mac.com/catincat/photo/flowers/preview/flower3.jpg 5 G15  http://homepage.mac.com/catincat/photo/flowers/preview/flower4.jpg 6 G20  http://homepage.mac.com/catincat/photo/flowers/preview/flower5.jpg 7 G25  http://homepage.mac.com/catincat/photo/flowers/preview/flower6.jpg

aiueo-22
質問者

補足

ご回答ありがとうございます。 連絡が遅くなってごめんなさい。今更になりますが、マクロはわからないので、せっかくいろいろと考えていただいたのですけれど使うことができず残念です。 それと、今までエクセルのみだったので、その延長線上で質問していたのですが、希望している操作ができるのなら他のソフトやファイル形式でもいいことに気がつきました。(個人の趣味的ファイルなので) 途中から質問の趣旨を変えてしまうことになってしまい申し訳ありませんが、今考えているのは、html形式のファイルで編集して最新のデータを作成。その後、他のファイル形式(エクセル、ワードかPDFあたり)で保存すれば画像の部分が更新されずに過去のデータとしても残せるのではないかと試行錯誤しています。 勝手なこと言って申し訳ありません。 追伸 「ダウンロードNinja 」のような便利なソフトも教えていただきありがとうございました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 少し、考えてみました。 VBAがお分かりになれば出来ますが、個々の設定など、個人のプライバシーの問題もあるでしょうから、ご自身でやっていただかないと無理なのですね。 どういう点かというと、URLが固定とおっしゃっていますが、私の考えた方法は、URLの拡張子 jpg など、1枚の画像で一意の(1個しかない)ものでないといけません。今回考えてみたものは、インターネットのWebサイトの画像名を直接、コピー&ペーストする方法です。URLの中に複数の画像を、ワークシートの画像と、一対一で、貼り付けしなおす方法は、自動で行うには、何かすごくややこしい気がして考えておりません。 貼り付ける場所の指定と、画像単独のURL を別途ワークシートに書いていただくことになります。 もう少し、具体的な内容で、サンプルのサイトをご指定になれば、こちらも説明しやすいかと思います。 ただ、私個人としては、あまりExcelで、画像を常時入れ出しで、大量に取り扱うというのは、何かのトラブルがないとも限りません。もちろん、手動でも発生はしますが、マクロで行うことで、トラブルの発生の確率が上がります。 >自動更新する前の状態のファイルは前日のデータとしてそのまま別のファイルとして保存しておきたいのですが、そういったことは可能でしょうか? それはともかく、そのようなソフトウェアがあったような気がします。 アクセスするたびに、ログとして取ってくるものです。 「ダウンロードNinja 」 http://www.ifour.co.jp/product/dln4/ 以前のバージョンで、掲示板のログを採っていたことがあります。

関連するQ&A

  • EXCEL,WORDの選択範囲を自動で画像ファイル化したい

    EXCELまたはWORDで作成したファイルにて、選択された部分を自動的に画像ファイル(GIFファイルなど)にする方法はないでしょうか? 現在、Excelで作成した内容(テキスト、オートシェイプ、画像の貼り付けあり)を範囲選択し、画像処理ソフト(PaintShopPro)にコピー・貼り付けしてGIFファイルを作成しているのですが、選択する範囲が固定できまっている(例:EXCELだとA1:D20、など)場合、毎回ファイルを開いて範囲選択して上記作業を行うのがファイル数も多く煩雑なので、なんとか自動化できないものかと思っています。 ExcelやWord側でのマクロや、上記要望を満たしてくれるソフトなどがもしあれば、是非教えていただけないでしょうか。 よろしくお願いいたします。

  • HTMLの画像自動更新について

    現在、 <meta http-equiv="Refresh" content="5">で自動更新をしているのですが、 毎回同じ画像が表示されてしまいます。 F5を押すと画像は更新されます。 キャッシュに問題があるのではと調べて下記のように書きました。 <HTML> <HEAD> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Pragma" content="no-cache"> <meta equiv="Expires" content="-1"> <meta http-equiv="Refresh" content="5;URL=index_i_i.html"> URLの「index_i_i.html」は同じHTMLファイル(名前は変えて)を用意して交互に飛ぶように設定しました。 ですが、上記の記述でも同じ画像が表示されます。 F5では更新されるのですが、F5と同じ更新をHTML内に記述するにはどうしたらよろしいのでしょうか? できれば、CGIやスクリプトは使いたくないのですが、使わなくてはいけないのであれば、教えてください。 お願いします。

    • ベストアンサー
    • HTML
  • 時間指定で自動的にホームページを更新する方法

    時間指定で自動的にホームページを更新する方法はありますか? 更新とは、たとえばFFFTPなどで指定ファイル(画像やhtmlファイルなど) をアップする作業のことです。 シンプルかつ無料で行える方法がありましたら、 教えていただけると大変うれしく思います。

  • WEBページ自動更新

    どこに書いていいか判断しずらかったのですがここに書きます。 通常ASPとかでWEBページを作成するとそのページをデータの変化に伴い自動的に更新することはむずかしいとおもいますが、実際株価など自動的に更新しているWEBサイトもあります。 あれはどのような方法を用いているのかわる本とかWEBサイトとかあれば教えてください。 もちろんASPにはこだわりません。

  • JPEG 画像を保存する作業を自動化

    Web 上の JPEG 画像を保存する作業を自動化する方法を教えてください。 1時間毎に更新される画像を連続的に保存する作業を. HTML と Javascript で作ろうと考えています。 いちいちブラウザ上で画像を右クリックして、 手動で保存を繰り返す必要をなくしたいと思います。 画像がロードされる際に、 特定の位置に表示される jpeg ファイルのみを自動的にローカルディレクトリに 保存させる方法があれば、教えて下さい。 もし自動的にそのような保存が困難であれば、右クリック操作をせずに、 単純にボタンを一回だけクリックすることで、 特定の位置の画像を保存させる方法があるかどうかをお教え下さい。 よろしくお願いします。

  • エクセルに張り付いた画像を軽くしたい

    メールで受け取ったエクセルファイルは画像が多くとにかく重いんです。たぶん写真をそのままコピペで貼り付けたんだと思います。そのファイルを他の人にメールしたいのですがこのまま送るのは失礼だと思うので画像部分を軽くしたいと思っています。 画像をペイントなどにコピーして編集すると画質は落ちてしまいます。 できるだけ画質を落とさずに軽くする方法はありますか?

  • エクセルの画像自動更新について

    下記図のようにエクセルで画像を管理した表を作っているのですが 【完成】列の<バナー>を度々別のものに更新しなくてはならず、量も多いので 関数やマクロで自動更新ができないか考えております。 ここで質問なのですが、 ・『フォルダ6』に、このエクセル管理表を保存。 ・『フォルダ4』や『フォルダ5』に<バナー>を保存 とした場合 <バナー>が更新される度に、エクセル管理表に添付してある画像が自動で変わる為には どのような処理をすればよろしいでしょうか? ちなみに、自分以外にも、この表を管理する人間が複数おり ローカルフォルダ内でも、共有フォルダ内でも作業をするので、両フォルダでも同じ動作にさせたいです。 例)管理者Aがローカルフォルダ『フォルダ4』内で製作したバナー(00001.jpg)を   共有フォルダ『フォルダ4』に保存   ↓   管理者Bがローカルフォルダ『フォルダ4』内で製作したバナー(00001.jpg)を   共有フォルダ『フォルダ4』に上書き   ↓   『フォルダ6』に保存されている、エクセル管理表を開くと   00001.jpgの行の【完成】にある画像が、管理者Bの上書きした画像に変わっている どうぞよろしくお願い致します。

  • ワードで画像を自動で挿入する方法

    ワード2000を使用しています。フォルダにgif画像が200個程入っており(ファイル名は毎回変わります)、これをワードに1つずつ画像を挿入する作業をしているのですが、自動で処理するようなフリーソフトや方法があれば教えて下さい。出来れば挿入したファイル名も表示されるとうれしいのですが・・ 宜しくお願い致します。

  • フォトショップ アクションを全自動にするのは無理なのか?

    WinXP フォトショップ7.0 アクションを設定し、ボタン一つで全自動できないかどうかの質問です。 1.画像を読み込む(手動) 2.レベルを調整(手動) 3.ロゴ[別データ]を読み込んだ画像の上に乗せる(自動) 4.保存1(自動) 5.解像度を下げる(自動) 6.フィルターをかける(自動) 7.WEB用に保存(自動) 8.画像を閉じる(自動) 以上の動作をアクションさせたいのですが・・・ 現状、 3番はやり方がわからず手動でやっています。 作業スペースにロゴデータを置いといて、そこからドラッグで乗せています。 4番から8番まではアクションさせていますが、4の保存時にフォルダとファイル名を聞いてくるので選択して、5で解像度を聞いてくるので72と入力して、7でもファイル名を聞いてくるので選択しています。 4は保存するフォルダは固定で、ファイル名は元のファイル名でいいです。 7は保存場所は固定で出てきますが、ファイル名を聞いてくるので、これも元ファイル名でいいです。 解像度に関してはすべて72でいいのですが、現状できないのでコピペです。 手順にこだわりはありません。 別方法でも結果が同じならOKです! 要は[画像データ]にすべて同じ[画像ロゴ]を入れて一旦保存。 そのデータをWEB用に縮小して保存。 これが[簡単に]できればうれしいのですが・・・ 皆さんのお知恵を拝借。 よろしくお願い致します。(;人;)

  • 作業の効率化・自動化・半自動化 エクセルに記入

    サイトの情報を、エクセルに手入力して、まとめているのですが、これを、自動化することってできますでしょうか? URL・画像・文章1・文章2 を、それぞれ コピー → エクセルに貼り付け。 という、作業をしているのですが、プログラム、または、サイト?エクセルの機能?で、自動化、ないし、半自動化(ドラッグするだけ、クリックするだけ)で、できないものでしょうか? いま手動でやっている、作業の流れは、 まず、サイト内の、欲しい情報を選んで、そのページに飛ぶ そして、 1URLをドラッグ & コピー 2エクセル(A1)に貼り付け 3文章の一つ目を、ドラッグ & コピー 4エクセル(B1)に貼り付け 5文章の二つ目を、ドラッグ & コピー 6エクセル(C1)に貼り付け 7右クリックで画像を保存 8エクセル(D1)に貼り付け という、作業をひたすらに、繰り返して、いますが、効率化するには、どうしたらよろしいでしょうか? 詳しい方いましたら、回答の方よろしくお願い致します。

専門家に質問してみよう