请问VB可以提取一些设备数据文件吗,不是Excel文件;

初学者V 2021-01-13 03:38:37
请问VB可以提取一些设备数据文件吗,不是Excel文件;
文件时。gls 文件,用TXT打开里面的数据分隔符都是^;Excel分列后我想提取其中固定N-O列的数据到新Excel中或者用于后续的计算;
请问这个功能只用VB可以实现吗?

...全文
255 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
不懂别说哎 2021-02-04
  • 打赏
  • 举报
回复
你应该买VB编程基础而不是VBA基础,因为很多地方是不让用宏的
初学者V 2021-02-03
  • 打赏
  • 举报
回复
引用 28 楼 不懂别说哎 的回复:
[quote=引用 27 楼 本命雪狮 的回复:]方法都在我六楼的回复里,你肯定没仔细研究过
其实他就是各种命令各种函数各种不知道, 其实我觉得他应该锻炼读代码,他现在和我刚开始学VB的时候一样,就是什么是干什么的都不知道的 [/quote] 是的 我挺想看代码 可以看很多功能。 我买的教程是Excel VBA入门到精通。 感觉里面都是一些表格数据的处理,没有办法做到这种看什么代码是什么功能。 可能要换个教程,更倾向于编程方向的;
初学者V 2021-02-03
  • 打赏
  • 举报
回复
引用 27 楼 本命雪狮 的回复:
方法都在我六楼的回复里,你肯定没仔细研究过
我努力研究了 实在是入门没头绪哈 毕竟是副业 0-0 没有系统学习过; 能读懂也是之前学校学习过FPGA和C语言的底子。工作后就没用过;
本命雪狮 2021-01-28
  • 打赏
  • 举报
回复
是的,自学能力还是应该有的
不懂别说哎 2021-01-28
  • 打赏
  • 举报
回复
引用 27 楼 本命雪狮 的回复:
方法都在我六楼的回复里,你肯定没仔细研究过
其实他就是各种命令各种函数各种不知道, 其实我觉得他应该锻炼读代码,他现在和我刚开始学VB的时候一样,就是什么是干什么的都不知道的
本命雪狮 2021-01-28
  • 打赏
  • 举报
回复
方法都在我六楼的回复里,你肯定没仔细研究过
初学者V 2021-01-28
  • 打赏
  • 举报
回复
引用 25 楼 不懂别说哎 的回复:
[quote=引用 19 楼 初学者V 的回复:][quote=引用 16 楼 不懂别说哎 的回复:]既然你都知道格式了那还不好办么?直接用OPEN 命令打开这个文件逐行读取内容,存进变量里,然后用字符串处理函数分割出来,不就是要啥都行了么?
0-0 感觉是这个意思 就是我还停留在没有代码 看不懂的时候哈 0-0 [/quote] 额。。。。。。好吧 例子:C:\下有个1.TXT文件,然后格式像你发的那样以^分割 dim a as string ,b() as string'这里的B()是一个数组变量用来存放你分割后的数据的 open "c:\1.txt" for input as #1 '格式open 【路径】 for 【打开方式】as 【文件号】 while not EOF(1) '判断是否到文件结尾,如果不是则循环 a="" '保证a里面没有东西 line input #1,a '将当前行添加给a(这里需要注意的是添加给a,就是说A之前里面有内容123,这次读取的内容是4,这时候a的内容为1234,所以上一个命令要保证a是空的) ‘在这里添加字符串处理函数来处理你所需要的格式 b = Split(a, "^")'将数据拆分(这个时候比如a里的数据是123^888^ddd^aaa,那么这个命令执行完之后b这个数组里b(0)就是123,b(1)就是888,以此类推,是不是就取得了你想要的内容了?) 然后在这里继续你要干什么的处理 wend close #1 ‘关闭文件 [/quote] 要的就是这个感觉! 太对了! 感谢哈
不懂别说哎 2021-01-27
  • 打赏
  • 举报
回复
引用 19 楼 初学者V 的回复:
[quote=引用 16 楼 不懂别说哎 的回复:]既然你都知道格式了那还不好办么?直接用OPEN 命令打开这个文件逐行读取内容,存进变量里,然后用字符串处理函数分割出来,不就是要啥都行了么?
0-0 感觉是这个意思 就是我还停留在没有代码 看不懂的时候哈 0-0 [/quote] 额。。。。。。好吧 例子:C:\下有个1.TXT文件,然后格式像你发的那样以^分割 dim a as string ,b() as string'这里的B()是一个数组变量用来存放你分割后的数据的 open "c:\1.txt" for input as #1 '格式open 【路径】 for 【打开方式】as 【文件号】 while not EOF(1) '判断是否到文件结尾,如果不是则循环 a="" '保证a里面没有东西 line input #1,a '将当前行添加给a(这里需要注意的是添加给a,就是说A之前里面有内容123,这次读取的内容是4,这时候a的内容为1234,所以上一个命令要保证a是空的) ‘在这里添加字符串处理函数来处理你所需要的格式 b = Split(a, "^")'将数据拆分(这个时候比如a里的数据是123^888^ddd^aaa,那么这个命令执行完之后b这个数组里b(0)就是123,b(1)就是888,以此类推,是不是就取得了你想要的内容了?) 然后在这里继续你要干什么的处理 wend close #1 ‘关闭文件
richman2012 2021-01-26
  • 打赏
  • 举报
回复
引用 23 楼 初学者V 的回复:
[quote=引用 22 楼 richman2012 的回复:][quote=引用 20 楼 初学者V 的回复:][quote=引用 18 楼 richman2012 的回复:][quote=引用 15 楼 初学者V 的回复:][quote=引用 14 楼 richman2012 的回复:][quote=引用 11 楼 初学者V 的回复:][quote=引用 10 楼 richman2012 的回复:]明白了,4楼的方案可行,如果今后运用时,希望对这些文件进行管理和更复杂的查询,可以先写入access暂存,之后想怎么玩都比较方便
其实我四楼的程序没看懂哈哈 0-0 比如文件名是test1.csv,里面的分隔符是^,放在路径 H:\VB Data 。 这个怎么实现把test1.csv里面的数据,提取到一个新Excel里; 然后我可以把Excel里 对应N列,O列的数据再提取出来,复制到固定位置呢? 比如固定位置是另一个sheet的 2/3列;大概这个样子;[/quote]然后写入excel,这部分4楼没写,如何写入excel是另外一个问题了,不过你这处理一定要vb搞吗?直接excel里做个宏会更方便[/quote] 我就是需要再Excel里弄个宏啊 0-0 最终实现的就是点击宏,弹出选取文件路径, 然后把选择的多个文件数据提取出来,放到固定位置就可以了; Excel宏不也是VB写的吗?[/quote]你可以开启宏录制,然后手工做一遍你的操作,做完后停止记录宏,实现前面手工操作的参考代码excel就都帮你生成在记录好的宏里了,然后你要做的就是去消化学习这些宏代码[/quote] 好吧 不严谨 VBA和VB不一样啊我才知道。。。。 我去试试 之前简单的录制可以。 后来我操作比较多,因为要点分列啥的,还要切换Excel,所以录制的不成功[/quote]宏录制只是为了帮助你大致了解实现功能用的代码思路,不是让你整个流程都录,一般是录关键几个功能功能点,然后在自己的代码里把它串起来,注意不要照搬,一定要上网查下录制的结果代码学习消化[/quote] 好的 感谢哈 我研究研究~~~ [/quote]有问题继续联系,记得一键三连
初学者V 2021-01-26
  • 打赏
  • 举报
回复
引用 22 楼 richman2012 的回复:
[quote=引用 20 楼 初学者V 的回复:][quote=引用 18 楼 richman2012 的回复:][quote=引用 15 楼 初学者V 的回复:][quote=引用 14 楼 richman2012 的回复:][quote=引用 11 楼 初学者V 的回复:][quote=引用 10 楼 richman2012 的回复:]明白了,4楼的方案可行,如果今后运用时,希望对这些文件进行管理和更复杂的查询,可以先写入access暂存,之后想怎么玩都比较方便
其实我四楼的程序没看懂哈哈 0-0 比如文件名是test1.csv,里面的分隔符是^,放在路径 H:\VB Data 。 这个怎么实现把test1.csv里面的数据,提取到一个新Excel里; 然后我可以把Excel里 对应N列,O列的数据再提取出来,复制到固定位置呢? 比如固定位置是另一个sheet的 2/3列;大概这个样子;[/quote]然后写入excel,这部分4楼没写,如何写入excel是另外一个问题了,不过你这处理一定要vb搞吗?直接excel里做个宏会更方便[/quote] 我就是需要再Excel里弄个宏啊 0-0 最终实现的就是点击宏,弹出选取文件路径, 然后把选择的多个文件数据提取出来,放到固定位置就可以了; Excel宏不也是VB写的吗?[/quote]你可以开启宏录制,然后手工做一遍你的操作,做完后停止记录宏,实现前面手工操作的参考代码excel就都帮你生成在记录好的宏里了,然后你要做的就是去消化学习这些宏代码[/quote] 好吧 不严谨 VBA和VB不一样啊我才知道。。。。 我去试试 之前简单的录制可以。 后来我操作比较多,因为要点分列啥的,还要切换Excel,所以录制的不成功[/quote]宏录制只是为了帮助你大致了解实现功能用的代码思路,不是让你整个流程都录,一般是录关键几个功能功能点,然后在自己的代码里把它串起来,注意不要照搬,一定要上网查下录制的结果代码学习消化[/quote] 好的 感谢哈 我研究研究~~~
richman2012 2021-01-26
  • 打赏
  • 举报
回复
引用 20 楼 初学者V 的回复:
[quote=引用 18 楼 richman2012 的回复:][quote=引用 15 楼 初学者V 的回复:][quote=引用 14 楼 richman2012 的回复:][quote=引用 11 楼 初学者V 的回复:][quote=引用 10 楼 richman2012 的回复:]明白了,4楼的方案可行,如果今后运用时,希望对这些文件进行管理和更复杂的查询,可以先写入access暂存,之后想怎么玩都比较方便
其实我四楼的程序没看懂哈哈 0-0 比如文件名是test1.csv,里面的分隔符是^,放在路径 H:\VB Data 。 这个怎么实现把test1.csv里面的数据,提取到一个新Excel里; 然后我可以把Excel里 对应N列,O列的数据再提取出来,复制到固定位置呢? 比如固定位置是另一个sheet的 2/3列;大概这个样子;[/quote]然后写入excel,这部分4楼没写,如何写入excel是另外一个问题了,不过你这处理一定要vb搞吗?直接excel里做个宏会更方便[/quote] 我就是需要再Excel里弄个宏啊 0-0 最终实现的就是点击宏,弹出选取文件路径, 然后把选择的多个文件数据提取出来,放到固定位置就可以了; Excel宏不也是VB写的吗?[/quote]你可以开启宏录制,然后手工做一遍你的操作,做完后停止记录宏,实现前面手工操作的参考代码excel就都帮你生成在记录好的宏里了,然后你要做的就是去消化学习这些宏代码[/quote] 好吧 不严谨 VBA和VB不一样啊我才知道。。。。 我去试试 之前简单的录制可以。 后来我操作比较多,因为要点分列啥的,还要切换Excel,所以录制的不成功[/quote]宏录制只是为了帮助你大致了解实现功能用的代码思路,不是让你整个流程都录,一般是录关键几个功能功能点,然后在自己的代码里把它串起来,注意不要照搬,一定要上网查下录制的结果代码学习消化
richman2012 2021-01-26
  • 打赏
  • 举报
回复
引用 20 楼 初学者V 的回复:
[quote=引用 18 楼 richman2012 的回复:][quote=引用 15 楼 初学者V 的回复:][quote=引用 14 楼 richman2012 的回复:][quote=引用 11 楼 初学者V 的回复:][quote=引用 10 楼 richman2012 的回复:]明白了,4楼的方案可行,如果今后运用时,希望对这些文件进行管理和更复杂的查询,可以先写入access暂存,之后想怎么玩都比较方便
其实我四楼的程序没看懂哈哈 0-0 比如文件名是test1.csv,里面的分隔符是^,放在路径 H:\VB Data 。 这个怎么实现把test1.csv里面的数据,提取到一个新Excel里; 然后我可以把Excel里 对应N列,O列的数据再提取出来,复制到固定位置呢? 比如固定位置是另一个sheet的 2/3列;大概这个样子;[/quote]然后写入excel,这部分4楼没写,如何写入excel是另外一个问题了,不过你这处理一定要vb搞吗?直接excel里做个宏会更方便[/quote] 我就是需要再Excel里弄个宏啊 0-0 最终实现的就是点击宏,弹出选取文件路径, 然后把选择的多个文件数据提取出来,放到固定位置就可以了; Excel宏不也是VB写的吗?[/quote]你可以开启宏录制,然后手工做一遍你的操作,做完后停止记录宏,实现前面手工操作的参考代码excel就都帮你生成在记录好的宏里了,然后你要做的就是去消化学习这些宏代码[/quote] 好吧 不严谨 VBA和VB不一样啊我才知道。。。。 我去试试 之前简单的录制可以。 后来我操作比较多,因为要点分列啥的,还要切换Excel,所以录制的不成功[/quote]几乎啥都可以录
初学者V 2021-01-26
  • 打赏
  • 举报
回复
引用 18 楼 richman2012 的回复:
[quote=引用 15 楼 初学者V 的回复:][quote=引用 14 楼 richman2012 的回复:][quote=引用 11 楼 初学者V 的回复:][quote=引用 10 楼 richman2012 的回复:]明白了,4楼的方案可行,如果今后运用时,希望对这些文件进行管理和更复杂的查询,可以先写入access暂存,之后想怎么玩都比较方便
其实我四楼的程序没看懂哈哈 0-0 比如文件名是test1.csv,里面的分隔符是^,放在路径 H:\VB Data 。 这个怎么实现把test1.csv里面的数据,提取到一个新Excel里; 然后我可以把Excel里 对应N列,O列的数据再提取出来,复制到固定位置呢? 比如固定位置是另一个sheet的 2/3列;大概这个样子;[/quote]然后写入excel,这部分4楼没写,如何写入excel是另外一个问题了,不过你这处理一定要vb搞吗?直接excel里做个宏会更方便[/quote] 我就是需要再Excel里弄个宏啊 0-0 最终实现的就是点击宏,弹出选取文件路径, 然后把选择的多个文件数据提取出来,放到固定位置就可以了; Excel宏不也是VB写的吗?[/quote]你可以开启宏录制,然后手工做一遍你的操作,做完后停止记录宏,实现前面手工操作的参考代码excel就都帮你生成在记录好的宏里了,然后你要做的就是去消化学习这些宏代码[/quote] 好吧 不严谨 VBA和VB不一样啊我才知道。。。。 我去试试 之前简单的录制可以。 后来我操作比较多,因为要点分列啥的,还要切换Excel,所以录制的不成功
初学者V 2021-01-26
  • 打赏
  • 举报
回复
引用 16 楼 不懂别说哎 的回复:
既然你都知道格式了那还不好办么?直接用OPEN 命令打开这个文件逐行读取内容,存进变量里,然后用字符串处理函数分割出来,不就是要啥都行了么?
0-0 感觉是这个意思 就是我还停留在没有代码 看不懂的时候哈 0-0
richman2012 2021-01-26
  • 打赏
  • 举报
回复
引用 15 楼 初学者V 的回复:
[quote=引用 14 楼 richman2012 的回复:][quote=引用 11 楼 初学者V 的回复:][quote=引用 10 楼 richman2012 的回复:]明白了,4楼的方案可行,如果今后运用时,希望对这些文件进行管理和更复杂的查询,可以先写入access暂存,之后想怎么玩都比较方便
其实我四楼的程序没看懂哈哈 0-0 比如文件名是test1.csv,里面的分隔符是^,放在路径 H:\VB Data 。 这个怎么实现把test1.csv里面的数据,提取到一个新Excel里; 然后我可以把Excel里 对应N列,O列的数据再提取出来,复制到固定位置呢? 比如固定位置是另一个sheet的 2/3列;大概这个样子;[/quote]然后写入excel,这部分4楼没写,如何写入excel是另外一个问题了,不过你这处理一定要vb搞吗?直接excel里做个宏会更方便[/quote] 我就是需要再Excel里弄个宏啊 0-0 最终实现的就是点击宏,弹出选取文件路径, 然后把选择的多个文件数据提取出来,放到固定位置就可以了; Excel宏不也是VB写的吗?[/quote]你可以开启宏录制,然后手工做一遍你的操作,做完后停止记录宏,实现前面手工操作的参考代码excel就都帮你生成在记录好的宏里了,然后你要做的就是去消化学习这些宏代码
richman2012 2021-01-26
  • 打赏
  • 举报
回复
引用 15 楼 初学者V 的回复:
[quote=引用 14 楼 richman2012 的回复:][quote=引用 11 楼 初学者V 的回复:][quote=引用 10 楼 richman2012 的回复:]明白了,4楼的方案可行,如果今后运用时,希望对这些文件进行管理和更复杂的查询,可以先写入access暂存,之后想怎么玩都比较方便
其实我四楼的程序没看懂哈哈 0-0 比如文件名是test1.csv,里面的分隔符是^,放在路径 H:\VB Data 。 这个怎么实现把test1.csv里面的数据,提取到一个新Excel里; 然后我可以把Excel里 对应N列,O列的数据再提取出来,复制到固定位置呢? 比如固定位置是另一个sheet的 2/3列;大概这个样子;[/quote]然后写入excel,这部分4楼没写,如何写入excel是另外一个问题了,不过你这处理一定要vb搞吗?直接excel里做个宏会更方便[/quote] 我就是需要再Excel里弄个宏啊 0-0 最终实现的就是点击宏,弹出选取文件路径, 然后把选择的多个文件数据提取出来,放到固定位置就可以了; Excel宏不也是VB写的吗?[/quote]不是,excel的叫vba,和vb不一样
不懂别说哎 2021-01-26
  • 打赏
  • 举报
回复
既然你都知道格式了那还不好办么?直接用OPEN 命令打开这个文件逐行读取内容,存进变量里,然后用字符串处理函数分割出来,不就是要啥都行了么?
初学者V 2021-01-26
  • 打赏
  • 举报
回复
引用 14 楼 richman2012 的回复:
[quote=引用 11 楼 初学者V 的回复:][quote=引用 10 楼 richman2012 的回复:]明白了,4楼的方案可行,如果今后运用时,希望对这些文件进行管理和更复杂的查询,可以先写入access暂存,之后想怎么玩都比较方便
其实我四楼的程序没看懂哈哈 0-0 比如文件名是test1.csv,里面的分隔符是^,放在路径 H:\VB Data 。 这个怎么实现把test1.csv里面的数据,提取到一个新Excel里; 然后我可以把Excel里 对应N列,O列的数据再提取出来,复制到固定位置呢? 比如固定位置是另一个sheet的 2/3列;大概这个样子;[/quote]然后写入excel,这部分4楼没写,如何写入excel是另外一个问题了,不过你这处理一定要vb搞吗?直接excel里做个宏会更方便[/quote] 我就是需要再Excel里弄个宏啊 0-0 最终实现的就是点击宏,弹出选取文件路径, 然后把选择的多个文件数据提取出来,放到固定位置就可以了; Excel宏不也是VB写的吗?
richman2012 2021-01-26
  • 打赏
  • 举报
回复
引用 11 楼 初学者V 的回复:
[quote=引用 10 楼 richman2012 的回复:]明白了,4楼的方案可行,如果今后运用时,希望对这些文件进行管理和更复杂的查询,可以先写入access暂存,之后想怎么玩都比较方便
其实我四楼的程序没看懂哈哈 0-0 比如文件名是test1.csv,里面的分隔符是^,放在路径 H:\VB Data 。 这个怎么实现把test1.csv里面的数据,提取到一个新Excel里; 然后我可以把Excel里 对应N列,O列的数据再提取出来,复制到固定位置呢? 比如固定位置是另一个sheet的 2/3列;大概这个样子;[/quote]然后写入excel,这部分4楼没写,如何写入excel是另外一个问题了,不过你这处理一定要vb搞吗?直接excel里做个宏会更方便
richman2012 2021-01-26
  • 打赏
  • 举报
回复
引用 11 楼 初学者V 的回复:
[quote=引用 10 楼 richman2012 的回复:]明白了,4楼的方案可行,如果今后运用时,希望对这些文件进行管理和更复杂的查询,可以先写入access暂存,之后想怎么玩都比较方便
其实我四楼的程序没看懂哈哈 0-0 比如文件名是test1.csv,里面的分隔符是^,放在路径 H:\VB Data 。 这个怎么实现把test1.csv里面的数据,提取到一个新Excel里; 然后我可以把Excel里 对应N列,O列的数据再提取出来,复制到固定位置呢? 比如固定位置是另一个sheet的 2/3列;大概这个样子;[/quote]四楼的意思久不要excel啦,直接可以把内容读到内存
加载更多回复(12)

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧