如何使用VBA在两个字符之间的字符串中提取文本?

时间:2016-03-18 20:33:05

标签: vba excel-vba ms-word excel

我正在撰写新闻稿文章的文档,并尝试将此公司名称从此word文件中提取到Excel工作表。

例如:从下面这个简短的段落中,我想获得 MI Developments Inc

  

AURORA,ON,3月29日/ PRNewswire-FirstCall / - MI Developments Inc.(多伦多证券交易所代码:MIM.A,MIM.B;纽约证券交易所股票代码:MIM)(" MID"或&# 34;公司")今天。

目前,我找到了一个识别名称的模式,名称介于“/ - ”和“#34”之间("

例如,如果我只查看上下文中名称前后的最近特征,MI Developments Inc的名称将显示为流程:

/ - MI Developments Inc. (

但是,我不确定如何在word上运行正确的VBA代码以提取公司名称以excel工作表

2 个答案:

答案 0 :(得分:0)

您可以使用Microsoft Office通配符搜索。 https://support.office.com/en-gb/article/Replace-text-using-wildcards-5cda8b1b-2feb-45a6-af0e-824173d3d6e4 http://word.mvps.org/faqs/general/usingwildcards.htm

我从社区得到了回答。尝试用这个来调整。

var myInterval = false;
var idleInterval = false;
var counter = 0;
$(function(){
    $('.hover_over_me').mousemove(function(){
    if(!myInterval) {
        clearHoverEvent();
      myInterval = setInterval(function () {
        $('#console').html(++counter);
      }, 1000);
      idleInterval = setInterval(function () {
        clearHoverEvent();
      }, 30000);
    }
  });

  $('.hover_over_me').mouseleave(function(){
    clearHoverEvent();
  });
});

function clearHoverEvent() {
    if(myInterval) {
        clearInterval(myInterval);
    myInterval = false;
  }
  if(idleInterval) {
    clearInterval(idleInterval);
    idleInterval = false;
  }
}

答案 1 :(得分:0)

查找 InStr

https://www.google.co.uk/url?sa=t&source=web&rct=j&url=https://msdn.microsoft.com/en-us/library/8460tsh1(v%3Dvs.90).aspx&ved=0ahUKEwi8jpqgoczLAhUDthQKHeJOCt0QFggbMAA&usg=AFQjCNFYY7KkIa4AWNr35OghC--C7GJeVQ&sig2=0vAixZ8y8x9zlX_lNz6I4g

查找

https://msdn.microsoft.com/en-us/library/05e63829(v=vs.90).aspx

查找修剪方法:

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

使用 InStr 查找 - 和(。

的第一个字符位置

计算出两个位置之间的字符数。

现在使用 Mid 将文本提取到另一个变量中。

然后我会使用修剪来摆脱空白。