[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『新しいウィンドウを開くハイパーリンク』(むっちゃん)
ハイパーリンクを左クリックで新しいウィンドウを開く方法。
セルにハイパーリンクを設定し、マウスの左クリックのみで新しいウインドウ(IE)を開いて、コンテンツを表示させる方法を教えて下さい。
挿入 ハイパーリンク で、URLを入力すれば、出来ませんか?
(INA)
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.