手册是C++的,我编的是VBA的,一直提示“错误的参数号或无效的属性赋值”。我试过按照手册要求的赋值类型来设置参数,还是不行,请大佬帮忙看看。感谢!
好心累哦,用EXCEL连接com接口读数据,要定制开发吗?i d去a 加V
追问是啊
为什么要加V,不能在这个说吗?
追答不是不能说,是说如果要定制成型的软件,这东西用excel来实现性能太烂了
追问但是针对我们的需求来说Excel足够了
我试过用“1 2 3 4 5”,还是同样的报错
VBA里面给的定义是这样的,请问我需要怎么写这个字符串变量呢?
追答你是要实现串口通信是吧?看着VBA手册那应该和ConnectionStringVal没关了,你现在传的是"1",这手册里也存在这个值;这VBA手册还是和C++不一样的,这里面只有四个参数而你现在都有5个参数了,还有和COM口通信是要设置波特率的也就是VBA手册里的第四个参数,看你自己的COM口设置,比如我电脑里的COM1是9600
关于参数个数的问题我也发现了,VBA里面的定义是4个参试,但是我只设置4个参数的话报错提示变成了“缺少函数或变量”,必须改成5个参数才行
我的接口波特率也是9600,改成这个还是同样的报错,我快绝望了
而且我看描述文件说这个波特率参数是对应RS-232C接口的波特率
用USB接口的话,这个波特率设置成0就行
vba手册不会错的吧,传5个参数肯定不对;这手册对参数也没个说明真是醉了;反正就是四个参数值的范围也给你定好了,不断组合试试呗
追问是不是字符弄错了,VBA里面给的是’1’,而我设置的是“1”,但是改成’1’又提示语法错误
只设置4个参数的时候一直提示“缺少函数或变量”
追答笑出了眼泪,我看网上VBA串口通信用的是MSComm控件实现,要不你改成这种方式实现 ' Use COM1.
MSComm1.CommPort = 1
' 9600 baud, no parity, 8 data, and 1 stop bit.
MSComm1.Settings = "9600,N,8,1"
这是网上copy的一部分
好的,我试试看
追答老铁 有没有解决呢?
追问没呢,心好累
我连接设备好像必须通过那个函数
其他的都不行
我在C++上用这个函数就一点问题都没有
追答这个参数加了中括号是啥意思,一脸懵逼;你这个Ca200对象是从哪里来的,我下的一个手册根本搜不到,想玩玩都不知道咋玩,要不通过vba调别的语言写的接口去通信,这种方式试过没
手册有需要的话我可以发给你
追答这个api是要依赖第三方,还是说windows内部就有的;是要依赖第三方的就算了,windows内部就有的可以发我一份。谢谢
追问应该是依赖第三方吧