搜索文本文件&将文本另存为变量(Outlook VBA)

时间:2015-02-20 20:54:15

标签: vba date

我正在尝试在RTF文件中搜索短语"创建日期:",然后将列为变量的年份和月份保存在稍后的子目录中。

因为日期总是以文件中的yyyy-mm-dd格式排列,所以我希望这可以通过计算字符来实现,所以对于:
创作日期:1994-08-17
该程序将找到单词"创建日期:",将接下来的4个字符保存为年份,跳过下一个字符(短划线)并将接下来的两个字符保存为月份,依此类推。登记/> 我认为sub会看起来像是:

Sub find()
    Const strFileName = "C:\Users\Username\Documents\whoisinfo.rtf"
    Const strSearch = "Creation Date: "
    'save next 4 characters as creyear (yyyy-mm-dd)
    Const strSearch = "Creation Date: "
    'skip 5 chars, save next 2 as cremonth
    Const strSearch = "Creation Date: "
    'skip 8 characters, save next 2 as creday
End Sub

我感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

除非您自己创建了RTF并控制了RTF标记的位置,否则没有可靠的方法来手动搜索RTF文件中的文本。这是因为RTF规范允许您在RTF字符串中传播RTF代码。例如,下面的所有3个字符串都是等效的,并且显示方式相同:

创作日期:1994-08-17

创作日期:{\ plain} 1994-08-17

创作日期:1994年 - {\ plain \ f0 \ fs24 08-17}

唯一可靠的方法是使用富文本框控件来搜索/替换。