Note: The other languages of the website are Google-translated. Back to English

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

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 a edição e navegação com guias no Office e torne o trabalho muito mais fácil ...
Kutools for Outlook - traz 100 recursos avançados poderosos para o Microsoft Outlook
  • Auto CC / BCC por regras ao enviar e-mail; Avanço automático Vários e-mails por regras; Resposta automatica sem servidor Exchange e mais recursos automáticos ...
  • Aviso BCC - mostrar mensagem quando você tenta responder a todos se o seu endereço de e-mail estiver na lista BCC; Lembrar quando houver anexos ausentes, e mais recursos de lembrete ...
  • Responder (todos) com todos os anexos na conversa de correio; Responder muitos e-mails de uma vez; Adicionar saudação automaticamente quando responder; Adicionar data e hora automaticamente ao assunto ...
  • Ferramentas de Anexo: Desanexar automaticamente, Comprimir tudo, Renomear tudo, Salvar tudo automaticamente ... Relatório Rápido, Contar e-mails selecionados, Remover e-mails e contatos duplicados ...
  • Mais de 100 recursos avançados resolva a maioria dos seus problemas no Outlook 2021 - 2010 ou Office 365. Recursos completos Avaliação gratuita de 60 dias.

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.

Na série 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.

Nota: 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.


Kutools for Outlook - traz 100 recursos avançados para o Outlook e torna o trabalho muito mais fácil!

  • Auto CC / BCC por regras ao enviar e-mail; Avanço automático Vários emails por encomenda; Resposta automatica sem servidor Exchange e mais recursos automáticos ...
  • Aviso BCC - mostrar mensagem quando você tentar responder a todos se o seu endereço de e-mail estiver na lista BCC; Lembrar quando houver anexos ausentes, e mais recursos de lembrete ...
  • Responder (todos) com todos os anexos na conversa de correio; Responder muitos e-mails em segundos; Adicionar saudação automaticamente quando responder; Adicionar data ao assunto ...
  • Ferramentas de anexo: gerenciar todos os anexos em todos os e-mails, Desanexação Automática, Comprimir tudo, Renomear tudo, Salvar tudo ... Relatório rápido, Contar e-mails selecionados...
  • Lixo eletrônico poderoso por costume; Remover e-mails e contatos duplicados... Permite que você faça de maneira mais inteligente, rápida e melhor no Outlook.
tiro kutools aba kutools do outlook 1180x121
tiro kutools outlook kutools mais guia 1180x121
 
Comentários (8)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Funcionou muito bem muito bom Levei algum tempo para entender que isso diferencia maiúsculas de minúsculas, mas isso é muito bom. Obrigada
Este comentário foi feito pelo moderador no site
Obrigada! Como podemos modificá-lo para usar sempre o mesmo calendário e não mostrar o primeiro pop-up? obrigada
Este comentário foi feito pelo moderador no site
Funcionou fantasticamente! Muito obrigado!!!
Este comentário foi feito pelo moderador no site
Isso deve fazer isso por você. Adicione essas 3 linhas imediatamente após a linha 8 (Set oApp = Outlook.Application). Dim nmSpace As Outlook.NameSpace Definir nmSpace = oApp.GetNamespace("MAPI") Definir oCalFolder = nmSpace.GetDefaultFolder(olFolderCalendar)
Este comentário foi feito pelo moderador no site
Parece que não consigo fazer isso para agendas não locais ou compartilhadas. Alguém sabe como fazer isso para calendários compartilhados? Estou definido como "proprietário" para o nível de permissão do calendário compartilhado, mas ele não aparecerá na minha lista de pastas quando eu executar o script, apenas meus calendários criados localmente serão exibidos.
Este comentário foi feito pelo moderador no site
Eu sempre recebo um erro de sintaxe logo no início na 2ª linha em Dim oApp As Outlook.Application. Não faço ideia do que está errado :-(

Eu tento executar o script VB no Outlook 2016 (versão O365) no Windows 10.
Este comentário foi feito pelo moderador no site
Bom dia,
é possível especificar la cartella posizione calendario (es.: \\mail@dominio\Calendario) senza far apparire la richiesta?
Obrigado
Oi,
é possível especificar o calendário de localização da pasta (ex .: \\ mail@domain\Calendar) sem fazer a solicitação aparecer?

Obrigado


Este comentário foi feito pelo moderador no site
Muito Obrigado. Acho que é a 1ª vez, copiei e executei sua macro "como está" sem nenhum erro ou necessidade de alterações!
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL