Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#68876
CAROS COLEGAS DO FÓRUM , SOU UM APRENDIZ , CRIEI UMA MACRO VIA VBA PARA AUTOMATIZAR MEU TRABALHO VIA EXCELL E MICROSOFT OUTLOOK .

O PROJETO FUNCIONOU MUITO BEM POR 2 ANOS NO MEU ANTIGO COMPUTADOR . PRECISEI FAZER UM UPGRADE E AGORA ESTÁ DANDO PROBLEMA, NÃO ESTOU CONSEGUINDO RESOLVER . NO COMPTADOR ATUAL TENHO EXCELL 2013 E WINDOWS 7 PROFESSIONAL.

RESUMINDO , A AUTOMAÇÃO QUE TENHO CONSISTE EM IMPRIMIR EM PDF (BULZIP) , ANEXAR O ARQUIVO PDF JÁ NOMEADO NO OUTLOOK PARA ENVIO AO DESTINATÁRIO .

ESTÁ DANDO ERRO 429 "O COMPONENTE ACTIVEX NÃO PODE CRIAR OBJETO" .

NO VBA , AO DEPURAR O ERRO FICA NA SEGUINTE LINHA:

With myobject ----------"AQUI FICA O CURSOR AMARELO DE ERRO"
.SetValue "output", SavePath & FileName
.SetValue "showsettings", "never"
.WriteSettings (True)
End With

RETIRANDO ESTÁ ROTINA , O PROJETO CONTINUA .

ALGUEM PODERIA AJUDAR? NAO SEI O QUE FAZER.
#68879
Olá, @PRV111 .

Sugestão: disponibilize o código completo e informe, após ocorrer o erro, ao pairar com o cursor sobre a variável myobject , qual o valor que aparece no rótulo popup ?

dica - ao postar códigos aqui no fórum, selecione todo o código e clique no ícone </> na Barra de Ferramentas.
#68887
Sub ENVIAR_PEDIDO_FÁBRICA_MERVER()

Dim myobject As New Bullzip.PDFPrinterSettings
Dim SavePath As String, FileName As String
Dim myOlApp, myItem, myAttachments

'-----------------------------------------------------------------------------------------------------------
'1ª parte do código: salvar um arquivo PDF com o mesmo nome e no mesmo diretório do arquivo excel original
'contendo a área selecionada de uma planilha
'-----------------------------------------------------------------------------------------------------------


FileName = "C:\Users\Pablo\Desktop\do trabalho Pablo\todas as tabelas\MERVER\PEDIDOS MERVER\PEDIDO " & "MERVER" & " " & ActiveSheet.Range("AB1").Value & " (" & ActiveSheet.Range("b4").Value & ")" & ".pdf"

:!: :!: :!: :!: :!: With myobject ----------- :!: :!: :!: :!: :!: :!: (aqui o depurador indica o problema)
.SetValue "output", SavePath & FileName
.SetValue "showsettings", "never"
.WriteSettings (True)
End With

'Modificando a impressora para Bullzip...
If InStr(ActivePrinter, "Bullzip") = 0 Then
Dim storeprinter$, PrinterChanged As Boolean
PrinterChanged = True
storeprinter = ActivePrinter
ActivePrinter = GetFullNetworkPrinterName("Bullzip")
End If

Selection.PrintOut
Caixa = MsgBox("Confirme se o arquivo PDF foi salvo antes de prosseguir.", vbYesNo + vbQuestion, "Exportação PDF")
If Caixa = vbNo Then Exit Sub
If PrinterChanged Then ActivePrinter = storeprinter

'-----------------------------------------------------------------------------------------------------------
'2ª parte do código: enviar o arquivo PDF criado na etapa anterior via e-mail como um anexo de mensagem
'-----------------------------------------------------------------------------------------------------------


Set myOlApp = CreateObject("Outlook.Application")
Set myItem = myOlApp.CreateItem(olMailItem)
Set myAttachments = myItem.Attachments

With myItem
.To = "vendas@merver.com.br"
.Subject = "PEDIDO MERVER" & " " & Range("AB1") & "-" & "PABLO VALANDRO"
.Body = "OLÁ!!!" & vbNewLine & _
" " & vbNewLine & _
"SEGUE EM ANEXO PEDIDO MERVER" & " " & Range("AB1") & "." & vbNewLine & _
" " & vbNewLine & _
"ACUSAR RECEBIMENTO" & vbNewLine & _
" " & vbNewLine & _
"Atc" & vbNewLine & _
"Pablo Valandro" & vbNewLine & _
"Representante Comercial" & vbNewLine & _
"cel. 51 993504711 wats" & vbNewLine & _
"pvalandro@hotmail.com" & vbNewLine & _
.Save
myAttachments.Add FileName
.Display
End With


End Sub


Function GetFullNetworkPrinterName(strNetworkPrinterName As String) As String

'-----------------------------------------------------------------------------------------------------------
'Função para estabelecer Bullzip como impressora de destino para o PDF gerado
'-----------------------------------------------------------------------------------------------------------

' Retorna o nome completo da impressora da rede
' retorna um texto vazio se não for encontra da impressora
' i.e. GetFullNetworkPrinterName("HP LaserJet 8100 Series PCL")
' deve retornar "HP LaserJet 8100 Series PCL em Ne04:"
Dim strCurrentPrinterName As String, strTempPrinterName As String, i As Long

strCurrentPrinterName = Application.ActivePrinter
i = 0
Do While i < 100

strTempPrinterName = strNetworkPrinterName & " PDF Printer em Ne" & Format(i, "00") & ":"
On Error Resume Next
'Tentativa de estabelecer Bullzip como impressora ativa
Application.ActivePrinter = strTempPrinterName
On Error GoTo 0
If Application.ActivePrinter = strTempPrinterName Then
'Bullzip foi localizada
GetFullNetworkPrinterName = strTempPrinterName
i = 100 'atribuição para concluir o loop
End If
i = i + 1
Loop
'retorna para a impressora ativa original
Application.ActivePrinter = strCurrentPrinterName
End Function

Sub Envia_Emails(EnviarPara As String, Mensagem As String)
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
.To = EnviarPara
.CC = ""
.BCC = ""
.Subject = "Pedido enviado"
.Body = Mensagem
.Display ' para envia o email diretamente defina o código .display
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
#68890
Peço desculpas, pois possivelmente eu não vou conseguir lhe ajudar pois nunca utilizei o Bullzip.

Talvez algum colega aqui do fórum consiga.

Fucei rapidamente no Google e um usuário que tinha um comando semelhante ao seu ~~~> Bullzip.PDFPrinterSettings, resolveu após alterar para ~~~> Bullzip.PdfSettings .

Uma ideia seria verificar se o erro tem ligação com alguma alteração na configuração do computador, visto que antes funcionou.

Você pode buscar também no Google com ~~~ > ERRO 429 "O COMPONENTE ACTIVEX NÃO PODE CRIAR OBJETO"
Editado pela última vez por osvaldomp em 27 Jan 2022 às 08:34, em um total de 1 vez.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord