Ir para o conteúdo principal

Como pesquisar e substituir o assunto do compromisso no calendário do Outlook?

Autor: Siluvia Última modificação: 2014-12-09

Localizar e substituir o assunto do compromisso no calendário do Outlook é útil quando você descobre que alguns assuntos precisam ser substituídos pelos mesmos textos em massa. Ou substitua a palavra Copiar no campo de assunto após a importação de dados no Outlook. Este artigo fornece o código VBA para pesquisar e substituir vários assuntos de compromisso. Por favor, navegue para mais detalhes.

Pesquise e substitua o assunto do compromisso pelo código VBA

Guia Office - Habilite edição e navegação com guias no Microsoft Office, facilitando o trabalho
Kutools para Outlook - Impulsione o Outlook com mais de 100 recursos avançados para eficiência superior
Aumente seu Outlook 2021 - 2010 ou Outlook 365 com esses recursos avançados. Desfrute de um teste gratuito abrangente de 60 dias e melhore sua experiência de e-mail!

seta azul bolha direitaPesquise e substitua o assunto do compromisso pelo código VBA

Nesta seção, você pode pesquisar e substituir o assunto do compromisso pelo código VBA da seguinte maneira.

1. Em primeiro lugar, você precisa definir as configurações de macro para baixo em seu Outlook.

1) No Outlook 2010 e 2013, clique em Envie o > Opções. E no Opções do Outlook caixa de diálogo, clique em trust Center na barra esquerda e, em seguida, clique no Configurações da Central de confiança botão.

No trust Center caixa de diálogo, clique em Configurações de macro na barra esquerda e selecione Habilitar todas as macros opção no Configurações de macro seção. E clique no OK botão. Veja a imagem:

2). No Outlook 2007, clique em Ferramentas > trust Center. No trust Center caixa de diálogo, clique em Configurações de macro na barra esquerda e selecione Sem verificação de segurança para macros opção e clique no OK botão.

2. aperte o outro + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.

3. No Microsoft Visual Basic para Aplicações janela, clique duas vezes para expandir o project1 > Objetos do Microsoft Outlook > Esta sessão do Outlook para abrir o editor VBA. Veja a imagem:

4. Copie e cole o seguinte código VBA no editor VBA. E então pressione o F5 chave para executar o código.

VBA: encontre e substitua o assunto do compromisso

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. Depois de executar o código, um Microsoft Outlook caixa de diálogo aparece. Clique no OK botão.

6. Na segunda Microsoft Outlook caixa de diálogo, digite o texto que deseja substituir e clique no botão OK botão.

7. No terceiro Microsoft Outlook caixa de diálogo, digite o texto que deseja substituir e clique em OK.

Note: Se você deseja apenas remover todas as palavras “Copiar” do assunto no calendário especificado, deixe esta caixa em branco.

8. Clique na OK botão na caixa de diálogo abaixo.

9. No Selecionar pasta caixa de diálogo, selecione sua agenda na conta de e-mail especificada e clique no OK botão. Veja a imagem:

10. Em seguida, uma caixa de diálogo aparecerá para informá-lo de que a substituição foi bem-sucedida. Por favor clique no OK botão.

11. E então todos os textos em seus assuntos do calendário selecionado foram substituídos pelo novo conteúdo.


Melhores ferramentas de produtividade de escritório

Kutools for Outlook - Mais de 100 recursos poderosos para turbinar seu Outlook

🤖 Assistente de correio AI: E-mails profissionais instantâneos com magia de IA – um clique para respostas geniais, tom perfeito, domínio multilíngue. Transforme o envio de e-mails sem esforço! ...

📧 Automação de e-mail: Fora do escritório (disponível para POP e IMAP)  /  Agendar envio de e-mails  /  CC/BCC automático por regras ao enviar e-mail  /  Encaminhamento automático (regras avançadas)   /  Adicionar saudação automaticamente   /  Divida automaticamente e-mails de vários destinatários em mensagens individuais ...

📨 Gestão de E-mail: Lembre-se facilmente de e-mails  /  Bloquear e-mails fraudulentos por assuntos e outros  /  Apagar Emails Duplicados  /  Pesquisa Avançada  /  Consolidar pastas ...

📁 Anexos PróSalvar em lote  /  Desanexar lote  /  Comprimir em Lote  /  Salvamento automático   /  Desanexação Automática  /  Compressão automática ...

???? Interface Mágica: 😊Mais emojis bonitos e legais   /  Aumente a produtividade do seu Outlook com visualizações com guias  /  Minimize o Outlook em vez de fechar ...

???? Maravilhas com um clique: Responder a todos com anexos recebidos  /   E-mails antiphishing  /  🕘Mostrar fuso horário do remetente ...

👩🏼‍🤝‍👩🏻 Contatos e calendário: Adicionar contatos em lote de e-mails selecionados  /  Dividir um grupo de contatos em grupos individuais  /  Remover lembretes de aniversário ...

Sobre Características 100 Aguarde sua exploração! Clique aqui para descobrir mais.

 

 

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