是否可以通过VBA更改互联网连接(例如从WiFi到Cable)?

时间:2014-10-30 08:28:05

标签: excel vba excel-vba

出于报告目的,我将网上各种来源的数据导入Excel工作簿。

问题是:虽然我想要的一些东西是在我公司的专用网络上(需要有线连接),但我想要连接的一些URL /网络服务是我公司所不允许的。代理(通过电缆连接)。

因此,我必须使用另一个没有代理(通过WiFi)的连接来使这些连接工作。 这个WiFi连接在我的计算机上始终处于活动状态,但它要求我手动拔掉一半进口电缆并将其重新插入我公司网络中的另一半文件...

我想知道VBA是否有办法告诉计算机根据我的需要使用有线/ WiFi。

我正在使用Excel 2010 / VBA的Windows XP Pro计算机上工作。请帮忙!

1 个答案:

答案 0 :(得分:2)

找到两种启用或禁用方法,即从VBA更改Internet适配器连接:

'根据您的需要调整这些,即更改适配器名称,更改启用或禁用参数,更改路径,更改文件名等.VBS方法很长但可以提供更多控制。蝙蝠方法很短但有限的IMO

1使用vbs Source link

'file name: asdf.vbs
'Get and disable all physical wired adapters (AdapterTypeID=0) (Ethernet 802.3)
'Wscript.Echo "test"
Set wmi = GetObject("winmgmts:root\CIMV2")
Set adapters = wmi.ExecQuery("Select * from Win32_NetworkAdapter where _
AdapterTypeId=0 AND NetConnectionID IS NOT NULL",,48)

For Each adapter in adapters
   With adapter 
   WScript.Echo "available: " & .Availability & " enabled: " & .NetEnabled & " netconStatus: " & .NetConnectionStatus & " status: " & .Status & " netconnID: " & .NetConnectionID & " adType: " & .AdapterType

   'adapter.disable()
   'adapter.enable()
   End With
Next

' Get and disable all physical wireless adapters (AdapterTypeID=9) (wireless)

2使用bat Ref link1Ref link2

'file name: switch_lan6.bat
@echo off
start /MIN cmd.exe /c "netsh interface set interface name="Local Area Connection 6" admin=disabled"

在excel vba中运行这些:

Shell "wscript ""C:\Users\USER\Desktop\asdf.vbs""", vbNormalFocus

,或者

Call Shell(ThisWorkbook.Path & "\switch_lan6.bat", 0)