gpt4 book ai didi

vba - 需要从字符串中删除文本到某个点

转载 作者:行者123 更新时间:2023-12-04 04:32:08 25 4
gpt4 key购买 nike

我有一个脚本可以从 Outlook 中的电子邮件创建任务 - 目前它只需要电子邮件主题并将其作为任务标题,这很好,除非我想在某个点之前摆脱主题行的第一部分。

电子邮件主题始终以相同的开头(尽管票号不同),示例主题为:

New Ticket: 3416 - School: School1 - Room: 158 - Desc: Broken PC

票号发生变化 - 但我想删除所有内容,包括“学校:”

所以我们会留下这样的东西:
School1 - Room: 158 - Desc: Broken PC

我目前使用的脚本是这样的:
    Sub MakeTaskFromMail2(MyMail As Outlook.MailItem)
Dim strID As String
Dim olNS As Outlook.NameSpace
Dim olMail As Outlook.MailItem
Dim objTask As Outlook.TaskItem

strID = MyMail.EntryID
Set olNS = Application.GetNamespace("MAPI")
Set olMail = olNS.GetItemFromID(strID)
Set objTask = Application.CreateItem(olTaskItem)
With objTask
.subject = olMail.subject
.DueDate = olMail.SentOn
.Body = olMail.Body
End With
Call CopyAttachments(olMail, objTask)
objTask.Save

Set objTask = Nothing
Set olMail = Nothing
Set olNS = Nothing
End Sub

Sub CopyAttachments(objSourceItem, objTargetItem)
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldTemp = fso.GetSpecialFolder(2) ' TemporaryFolder
strPath = fldTemp.Path & "\"
For Each objAtt In objSourceItem.Attachments
strFile = strPath & objAtt.FileName
objAtt.SaveAsFile strFile
objTargetItem.Attachments.Add strFile, , , objAtt.DisplayName
fso.DeleteFile strFile
Next

Set fldTemp = Nothing
Set fso = Nothing
End Sub

关于如何将其分开并删除第一部分的任何帮助都会非常有帮助。

我认为这不会太难 - 但我对 VB 的了解非常有限。

*编辑 - 删除了 vb.net,因为它在这里不合适。

最佳答案

您可以使用 Instr/Mid 函数的组合

Dim sInput As String
Dim sOutput As String

sInput = "New Ticket: 3416 - School: School1 - Room: 158 - Desc: Broken PC"
sOutput = Mid(sInput, InStr(sInput, "School:") + 8)

关于vba - 需要从字符串中删除文本到某个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20427892/

25 4 0
文章推荐: ruby-on-rails - 如何像素化图像回形针
文章推荐: vb.net - 将 IList 转换为 List