Se você está organizando um evento, curso ou conferência e precisa gerar certificados para um grande número de participantes, a automação é a chave para economizar tempo e esforço. Neste artigo, vamos explorar como criar certificados automaticamente no PowerPoint usando VBA (Visual Basic for Applications) e uma planilha do Excel. A conexão será estabelecida via biblioteca ADO (ActiveX Data Objects) usando comandos SQL, tornando todo o processo eficiente e fácil de gerenciar.
Antes de mergulharmos no tutorial, vamos entender por que criar certificados automáticos é tão vantajoso:
Economia de Tempo: Gerar certificados manualmente é demorado e propenso a erros. A automação elimina esse problema e economiza tempo valioso.
Precisão: Com a automação, você evita erros de digitação e garante que cada certificado seja consistente e preciso.
Escalabilidade: É fácil gerar certificados para um grande número de participantes, independentemente do tamanho do seu evento.
Flexibilidade: Você pode personalizar facilmente o design dos certificados e incluir informações específicas de acordo com as necessidades do seu evento.
Antes de começarmos, você precisará do seguinte:
Aqui estão os passos para criar certificados automáticos no PowerPoint usando VBA e ADO:
Passo 1: Prepare sua Planilha do Excel
Passo 2: Abra o PowerPoint e Acesse o Editor VBA
Passo 3: Crie uma Conexão ADO com a Planilha do Excel
Passo 4: Escreva o Código VBA
Passo 5: Execute o Código
Passo 6: Personalize os Certificados
Com este método, você pode automatizar a geração de certificados no PowerPoint com base em uma lista de nomes presente em uma planilha do Excel. A conexão via biblioteca ADO e o uso de comandos SQL tornam o processo ágil e eficiente. Aproveite os benefícios da automação e simplifique a tarefa de criar certificados para o seu evento. Esteja à vontade para compartilhar suas dúvidas ou comentários abaixo.
Public cnn As Object
Sub ConecataComDB()
Dim Bd As String
Dim Apres As Presentation
Set cnn = CreateObject("ADODB.Connection")
Set Apres = Presentations("GeradorCertificados")
Bd = Apres.Path & "\ListaParticipantes.xlsx"
If Bd <> "" Then
If cnn.State = 0 Then
cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source= " & Bd & ";" & _
"Extended Properties=""Excel 12.0 Xml;" & _
"HDR=Yes;"";"
cnn.Open
End If
Else
MsgBox "O banco de foi excluido ou não existe!", _
vbCritical, "Erro ao abrir BD"
End If
Set Apres = Nothing
End Sub
Public formato As String
'Callback for Combobox1 onChange
Sub Combobox1_onChange(control As IRibbonControl, text As String)
formato = text
End Sub
'Callback for Button1 onAction
Sub ExportaronAction(control As IRibbonControl)
Dim ShapCli As Object
Dim Apres As Presentation
Dim pSlid As Slide
Dim Pdest As String
Dim SQL As String
Dim Rs As Object
If Presentations(1).Slides.Count = 0 Then
MsgBox "Não existe nenhum Slide para exportar", vbCritical, "Sem Slides!"
Exit Sub
End If
If formato = "" Then
MsgBox "É necessário definir o formato primeiro!", vbCritical, "Formato não definido!"
Exit Sub
End If
Set Rs = CreateObject("ADODB.Recordset")
Set Apres = Presentations("GeradorCertificados")
Set pSlid = Apres.Slides(1)
Pdest = Apres.Path
ConecataComDB
SQL = "Select * From [Participantes$]"
Rs.Open SQL, cnn, 1, 1
If Rs.RecordCount > 0 Then
Do Until Rs.EOF
Set ShapCli = pSlid.Shapes.Range(Array("NomeCliente"))
ShapCli.TextFrame2.TextRange.Characters.text = Rs!Participante
pSlid.Export Pdest & "\" & Rs!Participante & "." & formato, formato ', 6000, 4242
Rs.MoveNext
DoEvents
Loop
End If
MsgBox "Certificados exportados com sucesso para a Pasta: " & Pdest, _
vbInformation, "Operação realizada!"
Set Apres = Nothing
Set pSlid = Nothing
End Sub