Excel – 如何拥有多个input设备(USB)

如何区分两个将数据放入电子表格的USBinput设备?

我有2个USB卡尺,input他们当前的测量值,就好像他们是击键一样。 数据发送到Excel(或任何程序),并垂直放置。 目前,Excel将两个卡钳看作是同一台仪器。

我想要的是两个卡尺将他们的数据logging到Excel电子表格的不同区域。

一个例子就是工具1和工具2都被两个不同的人同时使用,同时连接到同一台计算机。 刀具1将始终将其数据放在以下区域:(A1,B1,C1,A2,B2,C2 …等)刀具2将其数据logging到以下区域:(A5,B5,C5,A6, B6,C6 …等)数据不必进入同一张纸,它可以在不同的纸张或任何最简单的。

谁能帮忙?


更新以包括最初作为答案提供的内容

几个问题:

1)我在哪里可以find“Scripting.FileSystemObject”的信息? 我假设这条线需要被replace为每个单独的USB工具的标识符。 在设备pipe理器中,它们被列为HID键盘,但是我看不到任何标识号码。

2)是否将上述三组代码复制粘贴到USB1的Sheet1和USB2的Sheet2下的VBA中,还是需要将它们分别粘贴到单独的macros中?

我假设您的USB设备只需注册为人机接口设备,并将其输出发送到当前所关注的任何应用程序。

如果是这样的话,这不是微不足道的。 Windows会将所有键盘input合并到一个inputstream中,通常无法区分input来自哪个键盘(或类似键盘的设备)。

这就是说,似乎有一个原始的inputAPI,可以让你捕捉每个设备的input: http : //www.codeproject.com/KB/system/rawinput.aspx

从理论上讲,你应该能够在VBA中接口这个API,但你必须决定是否值得这个努力。 更简单的方法是使用两台电脑。

一种方法是将源设置为单独的对象,将输出表设置为对象。 然后,每个对象可以分开处理或以任何方式处理。

EG USB1应该有与USB2不同的文件path。 另外每个工作簿可以是一个对象,每个工作表可以是一个对象,每个工作表内的一个范围可以是一个对象

如USB1

Dim objFs1 As Object, objF1 As Object, objF1 As Object, objFc1 As Object Set objFs1 = CreateObject("Scripting.FileSystemObject") Set objF1 = objFs1.GetFolder(strFilePath) Set objFc1 = objF1.Files 

USB2

 Dim objFs2 As Object, objF2 As Object, objF2 As Object, objFc2 As Object Set objFs2 = CreateObject("Scripting.FileSystemObject") Set objF2 = objFs2.GetFolder(strFilePath) Set objFc2 = objF2.Files 

不知道如何加载设置的USB对象,但有一种可能性是使用文件对话框来select文件/文件夹

 With Application.FileDialog(msoFileDialogOpen) .AllowMultiSelect = False .Show If .SelectedItems.Count = 0 Then End End If For lngCount = 1 To .SelectedItems.Count strEndofPath = InStrRev(.SelectedItems(lngCount), "\") strFilePath = Left(.SelectedItems(lngCount), strEndofPath) strFilename = Right(.SelectedItems(lngCount), Len(.SelectedItems(lngCount)) - strEndofPath) Next lngCount End With 

写入对象的Excel

 Dim objWB1 As Workbook, objSheet1 As Worksheet, rngArea1 as Range Dim objWB2 As Workbook, objSheet2 As Worksheet, rngArea2 as Range