لورا می خواهد یک هایپرلینک را در یک کاربرگ قرار دهد. با این حال، او مایل است که هایپرلینک "اجبار" هدف URL را در یک مرورگر خاص نمایش دهد. به عنوان مثال، او مایل است که هایپرلینک به نحوی مشخص کند که هدف در اینترنت اکسپلورر باز شود.
هیچ راهی برای انجام این کار در اکسل وجود ندارد. یک هایپرلینک در یک کاربرگ، هنگامی که روی آن کلیک میشود، به هر آنچه که مرورگر پیشفرض روی سیستم مورد استفاده است، متکی است. با این حال یک راه حل وجود دارد که می توانید آن را امتحان کنید: می توانید یک ماکرو ایجاد کنید که در واقع یک آدرس هدف را با استفاده از یک مرورگر خاص باز می کند.
برای مثال ماکرو زیر را در نظر بگیرید. به طور خودکار یک نمونه از Internet Explorer را باز می کند و یک وب سایت را در آن مرورگر باز می کند:
Sub LaunchIE()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.navigate "http://excel.PCcloob.Ir/"
IE.Visible = True
Set IE = Nothing
End Sub
ماکرو را می توان به راحتی به یک کلید میانبر اختصاص داد. با این حال، وقتی صحبت از اینکه از کدام مرورگر استفاده می شود (این همیشه اینترنت اکسپلورر است) و کدام سایت نمایش داده می شود (این همیشه سایت ExcelTips است) خیلی انعطاف پذیر نیست. به این ترتیب می توانید آن را کمی انعطاف پذیرتر کنید:
Sub showURL(browser As String, URL As String)
Dim pPath As String
Dim bPath As String
Use this to resolve the correct program file path
it is different on 32-bit and 64-bit systems
pPath = Environ("ProgramFiles")
If browser = "Firefox" Then
bPath = pPath & "Mozilla FirefoxFirefox.exe"
ElseIf browser = "IE" Then
bPath = pPath & "Internet Exploreriexplore.exe"
Else
Exit Sub
End If
Call Shell(bPath & " " & URL, vbNormalFocus)
End Sub
Sub Testing()
Call showURL("Firefox", "http://www.PCcloob.Ir")
Call showURL("IE", "http://excel.PCcloob.Ir")
End Sub
توجه داشته باشید که روال اصلی - showURL که همه کارها را انجام می دهد - می تواند با Internet Explorer یا Firefox کار کند. روال تست نحوه راه اندازی مرورگرها را نشان می دهد. تنها کاری که باید انجام دهید این است که مشخص کنید کدام مرورگر را می خواهید و چه URL را می خواهید در آن مرورگر باز کنید.