[[20040115150210]] 『新しいウィンドウを開くハイパーリンク』(むっちゃん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『新しいウィンドウを開くハイパーリンク』(むっちゃん)

ハイパーリンクを左クリックで新しいウィンドウを開く方法。

セルにハイパーリンクを設定し、マウスの左クリックのみで新しいウインドウ(IE)を開いて、コンテンツを表示させる方法を教えて下さい。


 挿入 ハイパーリンク で、URLを入力すれば、出来ませんか?

  (INA)


左クリックすると、元のEXCEL画面上にコンテンツが表示されてしまいます。
EXCELの元の画面を残したまま、別画面にて表示させていのです。
右クリックして「新しいウインドウで開く」を選択すれば希望することができるのですが、操作が煩わしいので、なんとか左クリックのみで実現したいのですが、方法がわかりません。(むっちゃん)

 IE は Excel とは別のアプリケーションなので、別ウィンドウで起動するはずですが?

  (INA)

EXCEL97を使っているのですが、EXCEL画面上に表示されてしまします。
「戻る」ボタンをクリックすれば、元のEXCEL画面が表示されるのですが、新しく開いたIE画面を参照しながら、EXCELを操作したいのです。
(むっちゃん)


 win98se , Excel2000 だと別窓で開くのですが・・・
 バージョン違いによるものみたいですね。
 97は持っていないので、他の回答者の方々のアドバイスを待ってみましょう。

 ちなみにマクロを使うことまでは、考えていないですよね? 

 (INA)

  普通にエクセル上で[ハイパーリンク]を設定すれば
  左クリックで、単独に、別画面で、IE 画面が立ち上がりますが?

 >左クリックすると、元のEXCEL画面上にコンテンツが表示されてしまいます。
  のほうが、むしろ不思議な気がします。何か他にリンク設定してますか?
  それとも、Excel97 は違うのでしょうか??

  Excel2000     IE 6.0    (jun53)


WINXPとEXCEL97、WIN2000とEXCEL2000の環境で試しましたが、同様でした。
マクロを使ってもなんとかしたいと思っています。
(むっちゃん)


 ハイパーリンクをクリックしてIE画面が表示された時、
 タスクバーのところには、ExcelとIEと両方表示されてませんか?
 ひょっとして、
 左ボタンをクリックすると、Excelが最小化されて、IEが別ウィンドウ新たに開くので
 「Excelの上に開いた」ように見える、って状態を言ってません?
 (Windows2000+Excel97+IE6.0のYS)


はいそうです。
タスクバーにはExcelとIEがあります。
Excelが最小化されています。
最小化されないようには、どうしたらいいんでしょうか?
(むっちゃん)


 マクロを使っても、ということなので、標準モジュールに下記コードを入れておいて
 ハイパーリンクの設定されているセルを選択し Macro1を実行すると、Excelは最小化されませんでした。
 一度IEのWindowサイズを小さくしておけば、 次にマクロを実行しても、IEは小さいままでした。
 (Excelを起動しなおすとまたIE大きくなるかも)
 これで、見た目が希望通りだったら、コードの書き方はINAさん助けてー

  Sub Macro1()
    Selection.Hyperlinks(1).Follow NewWindow:=True
    Application.WindowState = xlNormal
  End Sub
 (YS)


Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

    Selection.Hyperlinks(1).Follow NewWindow:=True
End Sub

を書いて、ハイパーリンクの設定されているセルをクリックすると、何枚も新しい画面が表示しつずけてしまいます。(とまらない。。。)

(むっちゃん)


 ハイパーリンクしたときにEXCELのウィンドウを元に戻すなら

 Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    Application.WindowState = xlNormal
 End Sub

 で良いかと思います。
 あとはお好みで、EXCELウィンドウとIEのウィンドウを画面に半分ずつ表示させるなどの
 ウィンドウ制御を付け加えても良いかと思います。 

  (INA)


ハイパーリンクにより表示された、IEのウインドウの表示位置やサイズを変えるにはどうすればいいんでしょうか?

(むっちゃん)


以下のコードでなんとかやりたいことができました。
ありがとうございます。
他にスマートなやり方がありましたら教えてください。

Private IEAppHwnd As Long

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

    For Each IEApp In CreateObject("Shell.Application").Windows()
        If InStr(1, IEApp.LocationName, "Yahoo! JAPAN", vbTextCompare) > 0 Then
            If IEAppHwnd = IEApp.HWND Then
                IEApp.Quit
            Else
                IEApp.Width = 800
                IEApp.Height = 500
                IEApp.Top = 0
                IEApp.Left = 0
                IEAppHwnd = IEApp.HWND
            End If
        End If
    Next

    Target.Application.WindowState = xlNormal

End Sub

(むっちゃん)


 他のブラウザであれば、ウィンドウハンドルを取得して、
 APIで制御するしかないと思いますが、IEであれば上記のように CreateObject を使うのが
 簡単かと思います。

  (INA)
  

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.