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

いつもお世話になっています。
Excelでセルに住所を入れたら、別のセルに周辺地図が出てくるようになんて出来ないでしょうか?
Yahoo地図とリンクするとか出来ないものかなぁと考えてるのですが自分ではどうしたらいいのか分かりません。
いつも頼ってしまって申し訳ないのですが分かる方がいらっしゃったらよろしくお願いします。

A 回答 (4件)

Excelでセルに入れた住所からYahoo地図を



住所を入れたセルを【ハイパーリンクの挿入】ボタンをクリック。
ファイル名またはWebページ名 に
Yahoo地図のアドレスを入れます。
    • good
    • 5
この回答へのお礼

ご回答ありがとうございました。
お礼が遅くなり、本当にすみません。
こちらの事情で落ち着いて教えていただいた作業を試すことが出来ず、放置状態になってしまってすみませんでした。
以後、気をつけます。

お礼日時:2006/10/17 16:00

> いつも頼ってしまって申し訳ないのですが...



本当にそのようにお考えで、回答に対して直ぐにレスポンスできないなら、
「困り度3:直ぐに回答ほしいです」にしないことです。

回答者は、「直ぐに」というご事情を回答者なりに察して、さらなるご質問
が来てないかと心配りをしてたりするのですよ。

もう一つ提案しておきます。1つ1つの住所について作業する必要がありますが...

 1. Yahoo!Map 等の地図を画像としてファイルに保存
 2. セルにコメント挿入
 3. コメントを選択し、右クリック「コメントの書式設定」
 4. [色と線]-[塗りつぶし]-[色]-[塗りつぶし効果]
 5. [図]-[図の選択]

でコメントに地図画像を表示させる方法はどうですか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
お礼が遅くなり、本当にすみません。
こちらの事情で落ち着いて教えていただいた作業を試すことが出来ず、放置状態になってしまってすみませんでした。
以後、気をつけます。

お礼日時:2006/10/17 16:01

こんばんは。

KenKen_SP です。

VBA による回答サンプルです。

HTML がわかる場合は、HTML ソースを眺めてみればどのようなパラメータを
サーバに渡せば良いかわかります。

IE の画面を画像ファイルで落とすようにすれば、セルに表示できなくはない
ですけど、表示倍率が固定化されてしまうとか、コードが複雑になるので、
ブラウザで開く仕様の方が良いでしょう。

Yahoo!Map ではなく、個人的な好みで Google Map になってますが...
マウルホイールとかドラッグで地図が操作できて、こちらの方が便利だと
思いますよ。

シートモジュールに下記のソースコードをコピペして、C2 以下 C 列のセル
に適当な住所を入力してからダブルクリックしてみて下さい。

ハイパーリンクを自前で処理している格好なので、少し Excel のリンク機能
とは違った感じですが、住所のデータを青色文字にすればリンクの雰囲気は
でます。

(´・ω・`)σ なお、C2 以下のセルは F2 キー で編集モードにして下さい。


’------------------- シートモジュール --------------------------
Option Explicit

' 住所が入力されているセルの範囲を定義します ex) C2 以下に住所がある場合
Private Const ADDRESS_DATA = "C2:C65536"
' Google Map 問い合わせ URL
Private Const GOOGLEMAP_QUERYSTR = "http://maps.google.co.jp/maps?f=q&hl=ja&q="
' Google Map 初期表示倍率(整数で1~)
Private Const GOOGLEMAP_ZOOM = 16

' シート上のダブルクリック操作で発生するイベントプロシージャ
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Not Intersect(Target, Me.Range(ADDRESS_DATA)) Is Nothing Then
    ' ダブルクリックでセル編集モードにしない
    Cancel = True
    'Google Map をブラウザで表示
    Call ShowGoogleMap(Target.Value)
  End If
End Sub

' 引数で渡した住所付近の地図を Google Map で表示する
Private Sub ShowGoogleMap(ByVal strAddress As String)
  
  Dim strURL As String
  If strAddress = "" Then Exit Sub
  strURL = UrlEncode(StrConv(strAddress, vbWide))
  strURL = GOOGLEMAP_QUERYSTR & strURL & "&z=" & CStr(GOOGLEMAP_ZOOM)
  CreateObject("WScript.Shell").Run strURL
    
End Sub

' 文字列を URL エンコードして返す(JScript の encodeURI 関数を利用)
Private Function UrlEncode(ByVal strText As String) As String
  If strText = "" Then Exit Function
  With CreateObject("ScriptControl")
    .Language = "JScript"
    With .CodeObject
      UrlEncode = .encodeURI(strText)
    End With
  End With
End Function
    • good
    • 2
この回答へのお礼

ご回答ありがとうございました。
お礼が遅くなり、本当にすみません。
こちらの事情で落ち着いて教えていただいた作業を試すことが出来ず、放置状態になってしまってすみませんでした。
以後、気をつけます。

お礼日時:2006/10/17 16:01

Yahoo地図の場合、表示する地図を緯度/経度から算出しているようなので、住所を緯度/経度情報に変換する機能がないと実施不可能かと思います。



全国的な規模での利用でなければ、ゼンリン等の住宅地図ソフトを利用して、町名と地図データーを関連付けることにより実施可能かとは思います。
実際に新聞販売店での顧客管理ソフトに同様の機能があるものがあります。
ただしデーターの関連付けは手動で行う必要が有るので膨大な時間が掛かります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
お礼が遅くなり、本当にすみません。
こちらの事情で落ち着いて教えていただいた作業を試すことが出来ず、放置状態になってしまってすみませんでした。
以後、気をつけます。

お礼日時:2006/10/17 16:00

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