ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3746|回复: 7

[求助]对字符串变量中指定位置的字符进行操作

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-5-25 16:08 | 显示全部楼层 |阅读模式

设S是一个字符串型变量,

在vba中如何对S中指定位置的字符进行操作?

退一步说,如何能将此字符取出?

可以实现么?

 

谢谢。

[此贴子已经被作者于2007-5-25 16:23:38编辑过]

TA的精华主题

TA的得分主题

发表于 2007-5-25 17:23 | 显示全部楼层
欢迎你新朋友,不太明白你想做什么,应该可以的。

TA的精华主题

TA的得分主题

发表于 2007-5-26 05:50 | 显示全部楼层
QUOTE:
以下是引用53122532c在2007-5-25 16:08:20的发言:

设S是一个字符串型变量,

在vba中如何对S中指定位置的字符进行操作?

退一步说,如何能将此字符取出?

可以实现么?

 

谢谢。

孔兄,我想楼主可能需要处理文本数据。

如:

'* +++++++++++++++++++++++++++++
'* Created By SHOUROU@ExcelHome 2007-5-26 5:50:17
'
仅测试于System: Windows NT Word: 11.0 Language: 2052
'
0217^The Code CopyIn [ThisDocument-ThisDocument]^'
'*
-----------------------------

Option Explicit

Sub Example()
    Dim myString As String
    myString = "ABCDEFG"
    '
取得左边三个字符内容

    MsgBox Left(myString, 3)
    '
或者
    MsgBox Mid(myString, 1, 3)
'   
取得右边四个字符内容
    MsgBox Right(myString, 4)
    '
或者
    MsgBox Mid(myString, Len(myString) - 3, Len(myString))
End Sub
'----------------------


TA的精华主题

TA的得分主题

 楼主| 发表于 2007-5-28 11:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

守柔你好,

确实是想对文本处理,

 

 

但是你给出的函数只是起到显示作用,我想有没有一个函数满足以下要求:

1.找到符合
      
“?.空格?.
    
(注意此处有两个英文句号)
    
格式要求的字符串。

2.此字符串在,Selection.Find.text中寄存,如何对该字符串操作,将此字符串中的空格去掉,变成“?.?.
    

 

 

关键的一点,我觉得是如何能够对字符串中的某个特定字符操作,我怀疑有没有这个函数。

 

 

 

 

另外,不用字符串操作的办法,可以用其他办法实现以上功能的话,也请不吝赐教!多谢!

 

 

另外,经过几次查找替换的操作,发现在word中提供的查找替换功能可以把找到的内容替换成更长一点的内容,(替换为^&+x,而对于如何把找到的内容替换成短一点的内容(从原内容中删除某些字符)好像没有办法实现,不知各位是否同样有此问题,或者有其他好的办法,谢谢。

 

 

 

 
[此贴子已经被作者于2007-5-28 11:19:20编辑过]

TA的精华主题

TA的得分主题

发表于 2007-5-28 13:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

我想楼主的这些问题对两位版主来说只是小菜一碟。楼主还是实对实,放上实际文档或举出实际例子吧,以免空对空,而楼主您自己又接受不来。

TA的精华主题

TA的得分主题

发表于 2007-5-29 06:26 | 显示全部楼层
QUOTE:
以下是引用53122532c在2007-5-28 11:15:58的发言:

守柔你好,

确实是想对文本处理,

但是你给出的函数只是起到显示作用,我想有没有一个函数满足以下要求:

大哥您好!

您的这个贴子,把我和孔版都问懵了!

建议以后不要问得这么玄,我们的CPU有限,内存也不好。

查找替换哪?

CTRL+H,勾选使用通配符。

查找:"(?.)^32(?.)"                              注意,不含引号标记,下同

替换为:"\1\2"

VBA:

Sub Example()
    With ActiveDocument.Content.Find
        .ClearFormatting
        .MatchWildcards = True
        .Text = "(?.)^32(?.)"
        .Replacement.Text = "\1\2"
        .Execute Replace:=wdReplaceAll
    End With
End Sub

有关查找与替换的更多精妙内容,以搜索本版。

TA的精华主题

TA的得分主题

发表于 2007-5-29 07:26 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-5-29 12:57 | 显示全部楼层

守版,你好

你的方法确实很好,(原来我不知道()+\n的用法,刚才又看帮助才注意,原来没看懂)。谢谢!

其实我所说的,就是想问一下,vba中是否可以像c语言一样,直接对字符串的操作,例如取出或删除字符串中的某个字符。

我觉得在c语言中对字符串的操作命令很多,用起来也比较方便,但是,vba中貌似连“字符”型变量都没有(只有字符串变量),所以有以上疑问。

我说的很玄么,?可能是我脑子有点乱,,我在尽力用朴实的语言讲。。。抱歉。

再次谢谢大家

 

[em06][em06]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 00:19 , Processed in 0.042118 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表