帮助我将此代码从Java转换为VBA

时间:2010-10-23 08:49:52

标签: java vba access-vba

我需要创建一个从字符串中提取文本的VBA函数 我写了这个java方法

public static String extract(String str) {

    String s = str.substring(str.indexOf("'"),str.lastIndexOf("'"));
    String fg = s.substring(s.indexOf("'")+1, s.indexOf("to")-2);
    String sg = s.substring(s.indexOf("to")+4);

    return sg;

}

哪能做我想要的但是在VBA中我找不到与indexOf和lastIndexOf相当的东西 最重要的是如何使用字符索引来模仿java子字符串而不使用长度来提取VBA中的字符串。 任何人都可以帮助我。

提前致谢。

3 个答案:

答案 0 :(得分:6)

idx = str.indexOf("'");

// is equivalent of

idx = InStr(str, "'")

idx = str.lastIndexOf("'");

// is equivalent of

idx = InStrRev(str, "'")

str = str.substring(start, end)

// is equivalent of

str = Mid(str, start, end - start)

答案 1 :(得分:0)

indexOf和lastIndexOf的等效方法是inStr和inStrRev。

例如,请参阅http://www.techonthenet.com/excel/formulas/index_vba.php

答案 2 :(得分:0)

“substring”的等价物是“mid”函数。