Hoppa till huvudinnehåll

Hur söker jag och ersätter mötesämne i Outlook-kalendern?

Hitta och ersätt mötesämne i Outlook-kalendern är till hjälp när du hittar att vissa ämnen måste ersättas med samma text i massa. Eller ersätt ordet Kopiera i ämnesfältet efter dataimport i Outlook. Den här artikeln ger dig VBA-kod för att söka och ersätta flera mötesämnen. Vänligen bläddra för mer information.

Sök och ersätt mötesämne med VBA-kod

Office-fliken - Aktivera flikredigering och surfning i Microsoft Office, vilket gör arbetet enkelt
Kutools för Outlook - Boosta Outlook med 100+ avancerade funktioner för överlägsen effektivitet
Förbättra din Outlook 2021 - 2010 eller Outlook 365 med dessa avancerade funktioner. Njut av en omfattande 60-dagars gratis provperiod och höj din e-postupplevelse!

pil blå höger bubblaSök och ersätt mötesämne med VBA-kod

I det här avsnittet kan du söka och ersätta mötesämne med VBA-kod enligt följande.

1. Först måste du ställa in makroinställningarna till låga i din Outlook.

1) Klicka på i Outlook 2010 och 2013 Fil > Tillbehör. Och i Outlook-Val dialogrutan, klicka trust Center i det vänstra fältet och klicka sedan på Trust Center Settings knapp.

I trust Center dialogrutan, klicka Makroinställningar i det vänstra fältet och välj sedan Aktivera alla makron alternativet i Makroinställningar sektion. Och klicka på OK knapp. Se skärmdump:

2). Klicka i Outlook 2007 verktyg > trust Center. I trust Center dialogrutan, klicka Makroinställningar i det vänstra fältet och välj sedan Ingen säkerhetskontroll för makron alternativet och klicka på OK knapp.

2. tryck på andra + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

3. I Microsoft Visual Basic för applikationer dubbelklicka för att expandera project1 > Microsoft Outlook-objekt > ThisOutlookSession för att öppna VBA-redigeraren. Se skärmdump:

4. Kopiera och klistra in följande VBA-kod i VBA-redigeraren. Och tryck sedan på F5 för att köra koden.

VBA: hitta och ersätt mötets ämne

Sub FindReplaceAppointment()
	Dim oApp As Outlook.Application
	Dim oCalFolder As Outlook.MAPIFolder
	Dim oAppt As Outlook.AppointmentItem
	Dim sOldText As String
	Dim sNewText As String
	Dim iCalChangedCount As Integer
	Set oApp = Outlook.Application
	MsgBox ("This script will perform a find/replace in the subject line of all appointments in a specified calendar.")
	sOldText = InputBox("What is the text string that you would like to replace?")
	sNewText = InputBox("With what would you like to replace it?")
	' Check to be sure a Calendar folder was selected
	Do
	If Not (oCalFolder Is Nothing) Then
		If (oCalFolder.DefaultItemType = olAppointmentItem) Then Exit Do
	End If
	MsgBox ("Please select a calendar folder from the following list.")
	Set oCalFolder = Application.Session.PickFolder
	On Error GoTo ErrHandler:
Loop Until oCalFolder.DefaultItemType = olAppointmentItem
' Loop through appointments in calendar, change text where necessary, keep count
iCalChangedCount = 0
For Each oAppt In oCalFolder.Items
	If InStr(oAppt.Subject, sOldText) <> 0 Then
		Debug.Print "Changed: " & oAppt.Subject & " - " & oAppt.Start
		oAppt.Subject    = Replace(oAppt.Subject, sOldText, sNewText)
		oAppt.Save
		iCalChangedCount = iCalChangedCount + 1
	End If
Next
' Display results and clear table
MsgBox (iCalChangedCount & " appointments had text in their subjects changed from '" & sOldText & "' to '" & sNewText & "'.")
Set oAppt = Nothing
Set oCalFolder = Nothing
Exit Sub
	ErrHandler:
	MsgBox ("Macro terminated.")
End Sub

5. Efter att ha kört koden, a Microsoft Outlook dialogrutan dyker upp. Klicka på OK knapp.

6. På sekunden Microsoft Outlook dialogrutan, ange texten som du vill ersätta och klicka sedan på OK knapp.

7. I det tredje Microsoft Outlook dialogrutan, ange texten som du vill ersätta och klicka på OK.

Anmärkningar: Om du bara vill ta bort alla "Kopiera" ord från ämnet i den angivna kalendern, vänligen lämna den här rutan tom.

8. Klicka på OK knappen i dialogrutan nedan.

9. I Välj mapp Välj din kalender under det angivna e-postkontot och klicka sedan på OK knapp. Se skärmdump:

10. Då kommer en dialogruta att dyka upp för att informera dig om att bytet är lyckat. Klicka på OK knapp.

11. Och sedan har alla texter i dina ämnen i vald kalender ersatts med det nya innehållet.


Bästa kontorsproduktivitetsverktyg

Kutools för Outlook - Över 100 kraftfulla funktioner för att överladda din Outlook

📧 Email Automation: Frånvaro (tillgänglig för POP och IMAP)  /  Schemalägg Skicka e-post  /  Auto CC/BCC enligt regler när du skickar e-post  /  Automatisk vidarebefordran (avancerade regler)   /  Lägg automatiskt till hälsning   /  Dela automatiskt e-postmeddelanden med flera mottagare i individuella meddelanden ...

📨 Email Management: Hämta enkelt e-postmeddelanden  /  Blockera bluff-e-postmeddelanden av ämnen och andra  /  Ta bort duplicerade e-postmeddelanden  /  Avancerad Sökning  /  Konsolidera mappar ...

📁 Bilagor ProBatch Spara  /  Batch lossa  /  Batchkomprimera  /  Automatisk sparning   /  Auto Lossa  /  Automatisk komprimering ...

🌟 Gränssnittsmagi: 😊 Fler vackra och coola emojis   /  Öka din Outlook-produktivitet med flikar  /  Minimera Outlook istället för att stänga ...

👍 Underverk med ett klick: Svara alla med inkommande bilagor  /   E-postmeddelanden mot nätfiske  /  🕘Visa avsändarens tidszon ...

👩🏼‍🤝‍👩🏻 Kontakter och kalender: Lägg till kontakter i grupp från valda e-postmeddelanden  /  Dela upp en kontaktgrupp till individuella grupper  /  Ta bort påminnelser om födelsedag ...

Över 100 funktioner Vänta på din utforskning! Klicka här för att upptäcka mer.

Läs mer       Gratis nedladdning      Inköp
 

 

Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Many thanks. I think it is the 1st time, I copied and executed your macro "as is" without any error or any need for changes !
This comment was minimized by the moderator on the site
Buongiorno,
è possibile specificare la cartella posizione calendario (es.: \\mail@dominio\Calendario) senza far apparire la richiesta?
Grazie
Hi,
is it possible to specify the folder location calendar (ex .: \\ mail@domain\Calendar) without making the request appear?

Thank you


This comment was minimized by the moderator on the site
I always get a Syntax Error right at the start on the 2nd line at Dim oApp As Outlook.Application. No idea what's wrong :-(

I try to run the VB Script in Outlook 2016 (O365 Version) on Windows 10.
This comment was minimized by the moderator on the site
It seems I'm unable to do this for non-local, or shared calendars. Does anyone know how to do it for shared calendars? I'm set as "owner" for permission level of the shared calendar, but it won't show up in my list of folders when I run the script, only my locally created calendars show up.
This comment was minimized by the moderator on the site
Worked fantastically! Thank you so much!!!
This comment was minimized by the moderator on the site
This should do it for you. Add these 3 lines immediately after line 8 (Set oApp = Outlook.Application). Dim nmSpace As Outlook.NameSpace Set nmSpace = oApp.GetNamespace("MAPI") Set oCalFolder = nmSpace.GetDefaultFolder(olFolderCalendar)
This comment was minimized by the moderator on the site
Thank you! How can we modify it to always use the same calendar, and not show the first pop-up? thank you
This comment was minimized by the moderator on the site
Worked just fine really good It took me some time to understand that this is case sensitive, but that is very good. Thank you
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations