【问题标题】:Outlook Replacing Text In {LINK} -Outlook 替换 {LINK} 中的文本 -
【发布时间】:2020-06-28 09:02:40
【问题描述】:

我正在尝试查找并替换 Outlook 模板正文中的部分 LINK 文本。

Sub CreateFromTemplate()

last_week = InputBox("Enter date for last week (mm.dd-mm.dd)")
Dim body As String

' ELT

  Dim ELTMail As Outlook.MailItem

Set ELTMail = Application.CreateItemFromTemplate("F:\AOtter\Outlook Templates\Metric Weeklies\ELT.oft")

body = myMessage.body
body = Replace(body,"07.27-08.02",last_week)

ELTMail.Display
End Sub

来自 Outlook 电子邮件的示例链接:

{LINK Excel.Sheet.12 "\\tlnfile\users\AOtter\Metric Mondays\Results\2015.xlsx" 07.27-08.02!R4C9:R8C13 \a \f 4 \h}

谁能告诉我我错过了什么?我是否无法通过查找和替换访问链接内部/访问该链接的操作是否错误?

【问题讨论】:

    标签: vba replace outlook find


    【解决方案1】:

    添加

     Dim last_week as string 
    

    你拆了吗?

    试试

    body = myMessage.body
    debug.print body
    debug.print  Replace(body,"07.27-08.02","TRYTHIS")
    body = Replace(body,"07.27-08.02","TRYTHIS")
    debug.print body
    

    正如你所期望的那样:

    Sub Macro1()
    
        Dim body As String
    
        body = "{LINK Excel.Sheet.12 ""\\tlnfile\users\AOtter\Metric Mondays\Results\2015.xlsx"" 07.27-08.02!R4C9:R8C13 \a \f 4 \h}"
        Debug.Print Replace(body, "07.27-08.02", "fred")
    
    End Sub
    

    【讨论】:

    • 我得到一个重复声明错误(如果我包含输入框)或一个对象需要错误如果我不...
    • 你的模块顶部有 Option Explicit 吗?如果没有添加它。 last_week 还声明在哪里?
    【解决方案2】:

    没关系,你们大家。

    ELTMail.HTMLBody = Replace(ELTMail.HTMLBody, "07.27-08.02", last_week)
    

    我真傻。当然就是这样。给您添麻烦了!! AO

    【讨论】:

      猜你喜欢
      • 2019-07-14
      • 2018-04-26
      • 1970-01-01
      • 1970-01-01
      • 2022-08-16
      • 1970-01-01
      • 2015-10-16
      • 2017-01-04
      • 2018-03-15
      相关资源
      最近更新 更多