VBAでIEのタイトルバーを取得する方法 削除
Message#2 2014年10月18日(土)09時11分 From: VBA助け人 |
NativeなVBでは、AppActivateの引数にShell関数の戻り値を利用します。 Function Shell(PathName, [WindowStyle As VbAppWinStyle = vbMinimizedFocus]) As Double Sub AppActivate(Title, [Wait]) AppActivate ステートメントの使用例 ' Shell 関数の戻り値を使うこともできます。 ReturnValue = Shell("c:\Program Files\Microsoft Office\Office\EXCEL.EXE",1) ' Microsoft Excel を実行します。 AppActivate ReturnValue ' Microsoft Excel をアクティブにします。 AppActivateの引数にShell関数の戻り値を利用するのは、複数の同じプログラムが起動している場合にどのインスタンスに対してAppActivateを発行するかを識別するためです。 IEの場合であれば、起動時の引数として表示するサイトのアドレスを指定できたと思いますので、ページアドレスはその手法で引き渡せば構わないと思います。 ※ オブジェクトブラウザで確認しましたが、Shell関数もVBAに実装されているようです。 ------------------------------------------- なおNativeなVBの場合、WindowsAPIを呼び出すだけで特定のドキュメント(アドレス)をデフォルトのプログラム(ブラウザ)で開くことができます。 (VBAで実装できるか確認したことはありません) Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) _ As Long Public Const SW_HIDE As Long = 0 Public Const SW_NORMAL As Long = 1 Public Const SW_SHOWMINIMIZED As Long = 2 Public Const SW_SHOWMAXIMIZED As Long = 3 Public Const SW_SHOWNOACTIVATE As Long = 4 Public Const SW_SHOW As Long = 5 Public Const SW_MINIMIZE As Long = 6 Public Const SW_SHOWMINNOACTIVE As Long = 7 Public Const SW_SHOWNA As Long = 8 Public Const SW_RESTORE As Long = 9 Public Const SW_MAX As Long = 10 Public Const SW_FORCEMINIMIZE As Long = 11 Private Sub OpenURL(sFileName As String) Dim lRet As Long ' Open URL lRet = ShellExecute(Me.hwnd, "open", sFileName, "", App.Path, SW_NORMAL) If lRet <= 32 Then MsgBox "Can't Open File !!!" & Format(lRet, " #0") _ , vbExclamation Or vbOKOnly _ , "Open error" End If End Sub |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。