アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルやワードのIEへのリンクは新規ウィンドで開かれますよね?
リンクが複数あれば、複数ウィンド、リンクが一つでも複数回クリックすれば同じアドレスのIEが複数立ち上がってしまいます。
閲覧した後、じゃまにならないように閉じてから次のリンクを開くようにしていますが、いちいち閉じるのがめんどくさいので次のリンクをクリックしたら前に開かれていたウィンドと入れ替わりに開くような設定はありませんか?
Firefoxにあるようなタブ形式はイマイチですし・・
エクセル側、IE側どちらの設定でも構いません。
よろしくお願いします。

A 回答 (1件)

こんにちは。



Web サイトやPCのスペックによって、若干、うまく行かない可能性はありますが、このようなVBAで良いかと思います。本来は、全部のハンドルを取って行うべきかもしれませんが、スンナリ開かなくなるような気もしました。


ハイパーリンクでクリックするシートのモジュールに貼り付けてください。(シート・タブを右クリックすると、"コードの表示"がありますので、それをクリックします)
作動検査:Office 2003/IE 6.0)
'------------------------------------------------------------------------


Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32.dll" (ByVal hwnd As Long) As Long
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim objShell As Object
Dim objWin As Object
Dim cnt As Integer
Dim hwnd As Long

Const FCLASSNAME As String = "IEFrame"

Set objShell = CreateObject("Shell.Application")

 For Each objWin In objShell.Windows
 If TypeName(objWin) = "IWebBrowser2" Then
   If cnt = 0 Then
   cnt = cnt - 1
    objWin.Quit
   End If
   cnt = cnt + 1
 End If
 Next
Quit:
  hwnd = FindWindow(FCLASSNAME, vbNullString)
  SetForegroundWindow hwnd
  Set objShell = Nothing
End Sub

この回答への補足

回答ありがとうございます。
お返事が遅くなってしまいました。

VBAとかスクリプトの類は全くわからないので、まずVBAの使い方/組み込み方を勉強するためのわかりやすいサイトを教えていただいていただけませんでしょうか?少しずつ勉強してみたいと思います。

補足日時:2007/02/05 13:32
    • good
    • 0

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