topirol 发表于 2004-2-25 12:19:00

vba里面没有split函数,有没有类似的函数呢

比如:filenames() = Split(cd.FileName, vbNullChar)

subtlation 发表于 2004-2-25 17:31:00

有split函数的


<H1><A name=vafctsplit></A>Split函数</H1>
<P class=ALNSR>
<OBJECT id=hhobj_1 style="LEFT: 0px; WIDTH: 56px; TOP: 0px; HEIGHT: 24px" type=application/x-oleobject height=24 width=56 classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11><PARAM NAME="Width" VALUE="1482"><PARAM NAME="Height" VALUE="635"><PARAM NAME="Command" VALUE="ALink"><PARAM NAME="Item1" VALUE=""><PARAM NAME="Item2" VALUE="vafctSplitC"><PARAM NAME="Button" VALUE="请参阅"></OBJECT>                       
<OBJECT id=hhobj_2 style="LEFT: 0px; WIDTH: 40px; TOP: 0px; HEIGHT: 24px" type=application/x-oleobject height=24 width=40 classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11><PARAM NAME="Width" VALUE="1058"><PARAM NAME="Height" VALUE="635"><PARAM NAME="Command" VALUE="ALink"><PARAM NAME="Item1" VALUE=""><PARAM NAME="Item2" VALUE="vafctSplitX"><PARAM NAME="Button" VALUE="示例"></OBJECT>                       
<OBJECT id=hhobj_3 style="LEFT: 0px; WIDTH: 40px; TOP: 0px; HEIGHT: 24px" type=application/x-oleobject height=24 width=40 classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11><PARAM NAME="Width" VALUE="1058"><PARAM NAME="Height" VALUE="635"><PARAM NAME="Command" VALUE="ALink"><PARAM NAME="Item1" VALUE=""><PARAM NAME="Item2" VALUE="vafctSplitS"><PARAM NAME="Button" VALUE="特性"></OBJECT>


<B>描述</B>


<P class=T>返回一个下标从零开始的一维<A href="<b>javascript</b> :hhobj_4.Click()" target="_blank" >数组</A>,它包含指定数目的子字符串。


<B>语法</B>


<P class=SYN><B>Split(expression</B>[<B>,</B> <B>delimiter</B>[<B>,</B> <B>limit</B>[<B>,</B> <B>compare</B>]]]<B>)</B>
<H1></H1>
<P class=T><B>Split</B>函数语法有如下命名参数:



<TABLE cellSpacing=4 cols=2 cellPadding=4>
<TBODY>
<TR vAlign=top>
<TH width="33%">部分</TH>
<TH width="67%">描述</TH></TR>
<TR vAlign=top>
<TD class=T width="33%"><B>expression</B></TD>
<TD class=T width="67%">必需的。包含子字符串和分隔符的<A href="<b>javascript</b> :hhobj_5.Click()" target="_blank" >字符串表达式 </A>。如果<B>expression</B>是一个长度为零的字符串(""),<B>Split</B>则返回一个空数组,即没有元素和数据的数组。</TD></TR>
<TR vAlign=top>
<TD class=T width="33%"><B>delimiter</B></TD>
<TD class=T width="67%">可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果<B>delimiter</B>是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的<B> expression</B>字符串。</TD></TR>
<TR vAlign=top>
<TD class=T width="33%"><B>limit</B></TD>
<TD class=T width="67%">可选的。要返回的子字符串数,–1表示返回所有的子字符串。</TD></TR>
<TR vAlign=top>
<TD class=T width="33%"><B>compare</B></TD>
<TD class=T width="67%">可选的。数字值,表示判别子字符串时使用的比较方式。关于其值,请参阅“设置值”部分。</TD></TR></TBODY></TABLE><BR>





<B>设置值</B>


<P class=T>compare参数的设置值如下:



<TABLE cellSpacing=4 cols=3 cellPadding=4>
<TBODY>
<TR vAlign=top>
<TH width="33%">常数</TH>
<TH width="10%">值</TH>
<TH width="57%">描述</TH></TR>
<TR vAlign=top>
<TD class=T width="33%"><B>vbUseCompareOption</B></TD>
<TD class=T width="10%">–1</TD>
<TD class=T width="57%">用<B>Option Compare</B>语句中的设置值执行比较。</TD></TR>
<TR vAlign=top>
<TD class=T width="33%"><B>vbBinaryCompare</B></TD>
<TD class=T width="10%">0</TD>
<TD class=T width="57%">执行二进制比较。</TD></TR>
<TR vAlign=top>
<TD class=T width="33%"><B>vbTextCompare</B></TD>
<TD class=T width="10%">1</TD>
<TD class=T width="57%">执行文字比较。</TD></TR>
<TR vAlign=top>
<TD class=T width="33%"><B>vbDatabaseCompare</B></TD>
<TD class=T width="10%">2</TD>
<TD class=T width="57%">仅用于Microsoft Access。基于您的数据库的信息执行比较。</TD></TR></TBODY></TABLE><BR>

topirol 发表于 2004-2-25 17:46:00

奇怪我在VBA里面编译不通过,表示Split没有定义

efan2000 发表于 2004-2-25 17:58:00

跟版本有关系,在R2000的VBA是5.0的不支持。而在R2002以上的VBA是6.0的,就支持了。

mccad 发表于 2004-2-26 17:50:00

如果是R2000版,可以在实用函数栏目中找到该自定义函数
页: [1]
查看完整版本: vba里面没有split函数,有没有类似的函数呢