检查您的设备是否可以通过Shell.ApplicationActiveX 访问。下面是显示“打印机和传真”位置中所有项目的示例:
Sub Test()
Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.Namespace("::{2227a280-3aea-1069-a2de-08002b30309d}") ' Printers and Faxes
Debug.Print "CLSID:" & vbCrLf & objFolder.Self.Path & vbCrLf
Debug.Print "Folder name: " & vbCrLf & objFolder.Self.Name & vbCrLf
For Each objItem In objFolder.Items()
Debug.Print objItem.Name
Next
End Sub
我的输出如下:
CLSID:
::{2227A280-3AEA-1069-A2DE-08002B30309D}
文件夹名称:
打印机
传真
Microsoft XPS 文档编写器
PDFCreator
发送到 OneNote 2013
...-P0086 on ...-s0002
...-P0087 on ...- s0002
...-P0049 on ...-S0002
...-P0068 on ...-S0002
...-P0067 on ...-S0002
尝试其他 CLSID,例如:
::{20D04FE0-3AEA-1069-A2D8-08002B30309D} - Computer
::{00f2886f-cd64-4fc9-8ec5-30ef6cdbe8c3} - Scanners and Cameras
::{fb0c9c8a-6c50-11d1-9f1d-0000f8757fcd} - Scanners and Cameras
::{e211b736-43fd-11d1-9efb-0000f8757fcd} - Scanners and Cameras
::{0c15d503-d017-47ce-9016-7b3f978721cc} - Portable Device Values
::{35786d3c-b075-49b9-88dd-029876e11c01} - Portable Devices
看看这里,这里和这里。如果您在显示的项目之一中找到设备名称,那么您显然可以从中检索文件。