uyihsnas123 2022-05-20 13:27 采纳率: 0%
浏览 415
已结题

异常来自hresult:0x80020003(DISP_E_MEMBERNOTFOUND

改的别人的代码,编程方面一窍不通。
通过Arduino读取数据,将处理后的数据导入到excel中。
原arduino显示的数据:

img

更改后的arduino数据:

img

原处理数据部分代码:

Const sensor_num As Integer = 6
Dim xlObject(3) As Object
Dim xlAgent(0, sensor_num * 3)
Dim data As String
Dim data_arr() As String
中间部分省略
 data_arr = Split(data, ",")
            For i = 1 To sensor_num
                xlAgent(0, i + sensor_num * 0) = data_arr(i * 6 - 6)
                xlAgent(0, i + sensor_num * 1) = data_arr(i * 6 - 4)
                xlAgent(0, i + sensor_num * 2) = data_arr(i * 6 - 2)
            Next
中间省略
 With xlObject(3)
                If count = 1 Then
                    '.range("B6:T10000").clearcontents()
                    .cells(2, 2) = rec_time.ToString("yyyy/MM/dd HH:mm:ss.fff")
                End If
                xlAgent(0, 0) = rec_time.ToString("yyyy/MM/dd HH:mm:ss.fff")
                .range(.cells(5 + count, 2), .cells(5 + count, 20)) = xlAgent
                .range(.cells(5 + count, 21)) = xlke1
                .range(.cells(5 + count, 22)) = xlke2
            End With

更改后的代码:

Const sensor_num As Integer = 6
Dim xlObject(3) As Object
Dim xlAgent(0, sensor_num * 3)
Dim xlke1
Dim xlke2
Dim data As String
Dim data_arr() As String
略
            data_arr = Split(data, ",")
            For i = 1 To sensor_num
                xlAgent(0, i + sensor_num * 0) = data_arr(i * 6 - 6)
                xlAgent(0, i + sensor_num * 1) = data_arr(i * 6 - 4)
                xlAgent(0, i + sensor_num * 2) = data_arr(i * 6 - 2)
            Next
            xlke1 = data_arr(36)
            xlke2 = data_arr(37)
略
            With xlObject(3)
                If count = 1 Then
                    '.range("B6:T10000").clearcontents()
                    .cells(2, 2) = rec_time.ToString("yyyy/MM/dd HH:mm:ss.fff")
                End If
                xlAgent(0, 0) = rec_time.ToString("yyyy/MM/dd HH:mm:ss.fff")
                .range(.cells(5 + count, 2), .cells(5 + count, 20)) = xlAgent
               .range(.cells(5 + count, 21)) = xlke1
                .range(.cells(5 + count, 22)) = xlke2

更改后再运行就出现

找不到成员。(异常来自HRESULT:0x80020003(DISP_E_MEMBERNOTFOUND))

的结果了

按我理解的范围内应该只需要改这几处数据。如果有需要我可以再补充下代码。

  • 写回答

3条回答 默认 最新

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月20日
  • 创建了问题 5月20日