ブラウザでHTMLを表示したものをキャプチャしてビットマップとして貼り付ければいいのですが、もっとよい方法はないでしょうか?
メニューの「挿入」→「オブジェクト」でHTMLファイルを指定してみたら、IEのアイコンが張り付いただけでした。
HTMLファイルをドロップしたり、IEからコピペすると、無理やりExcelのセルやフォーム部品を使って再現しようとしますが、もとの表示とはだいぶ異なったものになってしまいます。
理想としては、外部のHTMLファイルをExcelのワークシート内の指定領域に張り込め、しかもHTMLファイルが更新されたら、Excelに貼った内容も追従してくれることです。しかもOffice(2000)がインストールされている環境であれば他にソフトをインストールする必要がないとありがたいです。(これは欲張りすぎか…)
マクロ(VBA)を使っても良いということでしたら、
WebBrowser コントロールを使うことで実現可能です。
以下は、Windows 2000 SP4 + IE6 SP1 + Excel 2003 SP3 の環境での例です。
(Excel 2000 でも、同様の操作です(メニュー名が多少違うかも))
------------------------------------------------------------------
■ Excel で WebBrowser コントロールを使う方法
1. Excel ファイルを開きます。
2. メニューの [表示] - [ツールバー] - [コントロール ツールボックス] を選択します。
3. [コントロール ツールボックス] - [コントロールの選択] アイコンをクリックします。
コントロールの一覧から「Microsoft Web Browser」を選択して、画面に貼り付けます。
(マウスカーソルが「+」になるので、範囲指定をして貼り付けます。)
4. [Microsoft Web Browser コントロール] - [右クリック] - [コードの表示] を選択します。
以下のコードを記述します(※)
Private Sub Worksheet_Activate()
’表示したい HTML ファイルへのパス(もしくは URL)を指定します。
’WebBrowser1.Navigate ”http://www.hatena.ne.jp/”
WebBrowser1.Navigate ”C:¥home¥edu¥hatena¥fslasht¥1116055235¥test.html”
’コントロールを画面に表示します。
WebBrowser1.Visible = True
End Sub
5. [コントロール ツールボックス] - [デザイン モードの終了] アイコンをクリックします。
6. いったん、ファイルを閉じて、再度ファイルをオープンすると、
HTML ファイルが Excel ファイル内に読み込まれます。
------------------------------------------------------------------
※ 注意点
ソースコードの一部の記号(「’」「”」「¥」など)が全角になっている可能性があります。
これは、はてなに回答を登録するときに変換されてしまうためです。
<テスト環境>
Windows 2000 SP4 + IE6 SP1 + Excel 2003 SP3
Windows 2000 SP4 + IE6 SP1 + Excel 2000
http://msdn.microsoft.com/workshop/browser/webbrowser/reflist_vb...
Reference for Visual Basic Developers
URL は WebBrowser コントロールに関する情報です。
http://www.atmarkit.co.jp/fwin2k/win2ktips/320webquery/webquery....
@IT:Windows TIPS -- Tips:Webクエリで外部データとダイナミックにリンクする
webクエリで試してみてはどうでしょう。
データ→外部データの取込→新しいwebクエリ
1.参照するhtmlのパスを記入
3.HTML形式
URLはwebページとのリンクの例になります。
回答ありがとうございます。
Excelにこんな機能が!
でもこの機能はデータ連携が目的で、レイアウトについては重要視されていないようですね。
search
挿入→図→ファイルでファイル名に挿入したい画像のURLでExcelで貼り付けられます。
当該の画像が更新されればExcel上の画像も更新します。
大きな画像ではダウンロードに時間がかかる場合がありますが、当該画像を右クリックして図の書式設定のWebでダウンロード中の表示の文言が指定できます。 (例:画像取得中)
回答ありがとうございました。
HTMLファイルは指定できないようです。
「ファイルの変換」というダイアログが表示されますが、ファイルの変換は出来ないようです(エラーになる)。
回答ありがとうございます。
わざわざコードまで用意した頂いてありがとうございます。
早速試してみました。
Activateイベントがうまく発生しなかったので、ボタンを作ってそのなかでコードを実行したらブラウザコントロールにHTMLの内容が表示されました。
一度、HTMLが表示できる状態になれば、マクロはs駆除してしまっても大丈夫でした。ブラウザコントロールのプロパティ(表示するURL)をセットするマクロをPersonal.xlsにでも登録しておけばよさそうです。
外部のHTMLを書き換えたら、Excel側でも再オープン後に反映しました。(外部のHTMLファイルのファイル名を変えたり、フォルダを移動しても探し出して表示するようです。さすがに削除したら表示はされなくなりました)
これでほとんど理想どおりです。
ちょっと気になるのは、Xlsファイルを閉じるとき何も編集していなくても、「変更を保存しますか?」とダイアログが出るようになってしまったことです。これの回避は難しそうですね。