【问题标题】:Issue extracting pattern from URL in VBA从 VBA 中的 URL 提取模式的问题
【发布时间】:2016-07-02 16:37:10
【问题描述】:

在 excel 表中,我正在循环列(包含 URL)提取模式(例如 us/en/dhs)但是我收到运行时错误:5 尝试了一段类似的代码,它正在工作,但在这里失败了。

包含粗体文本的行出错。

子生成LWP() ' ' 在活动工作表中: ' - 从 URL 中提取 LWP 并将其保存在 N 列中 ' - 在 From 列中识别每个 URL 中的模式,并将匹配的单词添加到 Article 列中的相应单元格 ' '选择非空白链接文本 ' 调用 selectNonBlank '从 D3(URL) 开始循环直到结束并提取 LWP 模式 使用 ActiveSheet .Range("N1") = "LWP" '.Range("O1") = "文章模式" .Range("D3").Select 结束于 '结尾 '变量 将 lwp 作为字符串调暗:lwp = "" 暗淡 str 作为字符串 设置 regEx = CreateObject("vbscript.regexp") 使用正则表达式 .Global = 真 '.MultiLine = 真 .IgnoreCase = True .pattern = "/([a-zA-Z]){2}\/([a-zA-Z]){2}\/(([a-zA-z]{5}[+0-9 ])|[a-zA-z]{3}|[0-9]{2})/g" 结束于 一直到 IsEmpty(ActiveCell) '提取LWP模式并将其存储在N列的相应单元格中 str = ActiveCell.Value Set regMatchObj = regEx.Execute(str) ‘包含匹配文本的对象 lwp = regMatchObj.Item(0) 'lwp = regMatchObj.Item(0).SubMatches.Item(0) ActiveCell.Offset(0, 10).Text = lwp ActiveCell.Offset(1, -10).Select 'Go down 环形 结束子

您能否帮助确定我在此行收到错误消息的原因?

【问题讨论】:

  • 嗨蒂姆,就像你说的我将 lwp 声明更新为匹配类型并使用 Set 为其分配表达式,但它仍然遇到相同的错误。为了补充以上内容,我尝试检查 lwp 的 typeName 是否显示为“Nothing”。

标签: vba runtime-error


【解决方案1】:

lwpMatch 对象,而不是字符串,因此您需要更改声明并在分配值时使用 Set。

https://msdn.microsoft.com/en-us/library/yfy6y4h1(v=vs.84).aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    相关资源
    最近更新 更多