Excel 2007で、画像の代替テキストに書かれているパスから画像を貼り直すVBAスクリプト
スポンサードリンク
Firefoxでローカルに保存したhtmlをExcel2007で開くと、画像が全てファイルへリンクした状態になり、画像フォルダとセットで取り扱 わないと画像が表示されなくなったります。
このスクリプトは、画像の代替テキストに残っている画像パスを頼りに、画像を埋め込みし直します。
ただし、代替テキストにパスが入るのは、htmlのalt要素がない場合のみです。
役に立つ機会はほとんどないでしょうwww
Option Explicit ' Firefoxでローカルに保存したhtmlをExcel2007で開くと、画像が全て ' ファイルへリンクした状態になり、画像フォルダとセットで取り扱 ' わないと画像が表示されなくなったりします。 ' このスクリプトは、画像の代替テキストに残っている画像パス ' を頼りに、画像を埋め込みし直します。 ' ただし、代替テキストにパスが入るのは、htmlのalt要素がない場合 ' のみです。 ' Sub 画像リンクしなおし() Dim pic As Shape For Each pic In ActiveSheet.Shapes Dim imagePath As String imagePath = pic.AlternativeText ' 代替テキストには画像パス If imagePath <> "" Then Dim pic2 As Object Set pic2 = ActiveSheet.Pictures.Insert(imagePath) ' ここでエラーになる場合は、画像パスに画像が存在しない With pic2 .Left = pic.Left .Top = pic.Top .Width = pic.Width .Height = pic.Height End With ' 元画像削除 pic.Delete End If Next End Sub
これをしないと、恐ろしいことに、Excel 2007で「配布準備-最終版にする」をしても、画像フォルダがないと画像がロストするんです。
投稿 大野 義貴 [パソコン・インターネット] | 固定リンク |
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3610
コメントする