vba 截取字符串问题

同衣号码 2013-12-03 02:31:40
一个地址字符串:"C:\Documents and Settings\Administrator\デスクトップ\1234.xlsx"

我想用vba截取最后的名字“1234.xlsx”

应该怎么做? 前面的地址是不确定的,怎么取
...全文
667 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
舉杯邀明月 2013-12-04
  • 打赏
  • 举报
回复
引用 4 楼 subMain 的回复:
[quote=引用 3 楼 Chen8013 的回复:] 我觉得任何类型都不应该用 Variant 。 String 用Variant, 有什么隐患? 没听说过呀, 难道是“全数字”的字符串有歧义吗?我觉得也不会嘛。
请教一下,下面这段代码的变更var1除了使用Variant类型,还可以使用什么类型? var1 = Worksheets("SheetName").Range("A1:B2").Value2 [/quote] 单独说这个“值”,倒是没得替代…… 但是你可能也知道,有多种方式能够实现相同的作用。 并且,这个“值”除了用在Excel的Sheet.Range( ) 赋值之外,恐怕没别的用场。   但是,在这之前也说了,要完成这个,又有别的多种明确类型的操作方法。
subMain 2013-12-04
  • 打赏
  • 举报
回复
引用 3 楼 Chen8013 的回复:
我觉得任何类型都不应该用 Variant 。 String 用Variant, 有什么隐患? 没听说过呀, 难道是“全数字”的字符串有歧义吗?我觉得也不会嘛。
请教一下,下面这段代码的变更var1除了使用Variant类型,还可以使用什么类型? var1 = Worksheets("SheetName").Range("A1:B2").Value2
  • 打赏
  • 举报
回复
引用 7 楼 Chen8013 的回复:
[quote=引用 6 楼 ChoasRules 的回复:] [quote=引用 3 楼 Chen8013 的回复:] [quote=引用 2 楼 ChoasRules 的回复:] mid$("C:\Documents and Settings\Administrator\デスクトップ\1234.xlsx",instrrev("C:\Documents and Settings\Administrator\デスクトップ\1234.xlsx","\")+1) 提个建议,用String别用Variant。有隐患。
我觉得任何类型都不应该用 Variant 。 String 用Variant, 有什么隐患? 没听说过呀, 难道是“全数字”的字符串有歧义吗?我觉得也不会嘛。 [/quote] 哦,这个问题,我不是单指string型,其实如果能明确类型的都不应该用variant。有几个原因,比如代码可读性差, 且Variant 变量中有 Currency、 Double 值超过它们各自的范围时,会发生错误。我只是提醒一下楼主,尽量不要用, 不知道哪就会出现问题。提醒而已。 [/quote] 这个“Variant类型”,似乎只有VB中才有的。 我了解的其它几种常见的计算机语言,好象都没“Variant类型”(或者类似Variant的数据类型)。 我写的VB/VBA代码中,就从来没用Variant类型。 [/quote] 其实这个类型在某些时候是有用的,比如variant类型的数组,每个元素的类型可以不一样。而且这种类型可以存储如empty\null这类的值。当然用过和没用过都很正常,这得看实际需要。
舉杯邀明月 2013-12-04
  • 打赏
  • 举报
回复
引用 6 楼 ChoasRules 的回复:
[quote=引用 3 楼 Chen8013 的回复:] [quote=引用 2 楼 ChoasRules 的回复:] mid$("C:\Documents and Settings\Administrator\デスクトップ\1234.xlsx",instrrev("C:\Documents and Settings\Administrator\デスクトップ\1234.xlsx","\")+1) 提个建议,用String别用Variant。有隐患。
我觉得任何类型都不应该用 Variant 。 String 用Variant, 有什么隐患? 没听说过呀, 难道是“全数字”的字符串有歧义吗?我觉得也不会嘛。 [/quote] 哦,这个问题,我不是单指string型,其实如果能明确类型的都不应该用variant。有几个原因,比如代码可读性差, 且Variant 变量中有 Currency、 Double 值超过它们各自的范围时,会发生错误。我只是提醒一下楼主,尽量不要用, 不知道哪就会出现问题。提醒而已。 [/quote] 这个“Variant类型”,似乎只有VB中才有的。 我了解的其它几种常见的计算机语言,好象都没“Variant类型”(或者类似Variant的数据类型)。 我写的VB/VBA代码中,就从来没用Variant类型。
  • 打赏
  • 举报
回复
引用 3 楼 Chen8013 的回复:
[quote=引用 2 楼 ChoasRules 的回复:] mid$("C:\Documents and Settings\Administrator\デスクトップ\1234.xlsx",instrrev("C:\Documents and Settings\Administrator\デスクトップ\1234.xlsx","\")+1) 提个建议,用String别用Variant。有隐患。
我觉得任何类型都不应该用 Variant 。 String 用Variant, 有什么隐患? 没听说过呀, 难道是“全数字”的字符串有歧义吗?我觉得也不会嘛。 [/quote] 哦,这个问题,我不是单指string型,其实如果能明确类型的都不应该用variant。有几个原因,比如代码可读性差, 且Variant 变量中有 Currency、 Double 值超过它们各自的范围时,会发生错误。我只是提醒一下楼主,尽量不要用, 不知道哪就会出现问题。提醒而已。
舉杯邀明月 2013-12-03
  • 打赏
  • 举报
回复
引用 2 楼 ChoasRules 的回复:
mid$("C:\Documents and Settings\Administrator\デスクトップ\1234.xlsx",instrrev("C:\Documents and Settings\Administrator\デスクトップ\1234.xlsx","\")+1) 提个建议,用String别用Variant。有隐患。
我觉得任何类型都不应该用 Variant 。 String 用Variant, 有什么隐患? 没听说过呀, 难道是“全数字”的字符串有歧义吗?我觉得也不会嘛。
  • 打赏
  • 举报
回复
mid$("C:\Documents and Settings\Administrator\デスクトップ\1234.xlsx",instrrev("C:\Documents and Settings\Administrator\デスクトップ\1234.xlsx","\")+1) 提个建议,用String别用Variant。有隐患。
同衣号码 2013-12-03
  • 打赏
  • 举报
回复
"C:\Documents and Settings\Administrator\デスクトップ\1234.xlsx"是个Variant类型的。

2,462

社区成员

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

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