Search the Community

Showing results for tags 'excel'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 107 results

  1. Bom dia galera. Estou tendo meu primeiro contato com access e bancos de dados. Fui encarregado em meu serviço para fazer a comparação de dois bancos de dados (tambem estao disponiveis em excel, mas quero evoluir meu conhecimento com banco de dados). Preciso comparar os dois para obter quais notas fiscais que tem em uma banco, e não esta presente no outro. Tentei pelo VBA (conhecimento muito basico) e pelo SQL, mas infelizmente sem sucesso. Se alguém puder ajudar...
  2. Olá pessoal, tudo bem? Sou iniciante no MySQL, essa semana veio uma dúvida de 10 milhões de dólares. O Chefinho querido me entregou uma planilha excel com 554 mil registros e me pediu para inserir isso na tabela para fazer levantamento de algumas informações. Aiiii me vêm aquele dúvida... Fazer 554 mil INSERT INTO (') ??? INSERT INTO `tab_teste_cliente` (`id_cliente`, `cnpj`, `razao_social`) VALUES ('NULL,'12345678901234','Empresa Linda'); Massssss... quando eu exporto uma tabela no MySQL, ele faz aqueles inserts com 200 valores. Isso torna o INSERT mais rápido é melhor certo? Então há alguma forma de converter o Excel para um arquivo SQL com esses Inserts múltiplos e facilitar minha vida? Algum site, script, gambiarra, subterfúgio técnico ou contato divino para fazer isso? Obrigado, pela ajuda pessoal até mais!
  3. Boa tarde , Pessoal. Peço minhas sinceras desculpas se não seria nesse tópico que teria que postar essa minha duvida. Preciso de um código em VBA , pois tenho um planilha como a em anexo " modo com erro" e gostaria que ficasse como a foto "pronto". Explicando melhor seguindo a coluna dos títulos sequencial quando não tiver o numero Sequencial vai adicionar uma linha e incluir o numero de titulo que falta Sequencial.
  4. Trabalho com planilhas para cálculos de comissão de funcionários. Possuo uma planilha com as seguintes caracteristicas: E uma coluna possuo valores de produções dos funcionários, como no exemplo: COLUNA A 4 570 621 314 476 240 120 Preciso que na célula seguinte ele faça multiplicação seguindo os seguintes critérios: Por 1,3 se o valor for menor que 100. Por 1,4 se o valor está entre 101 e 200. Por 1,5 se o valor está entre 201 e 300. Por 1,6 se o valor está entre 301 e 400. Por 1,7 se o valor está entre 401 e 500. Por 1,8 se o valor está entre 501 e 600. Por 1,9 se o valor está entre 601 e 700. Por 2,0 se o valor está entre 701 e 800. Por 2,1 se o valor está entre 801 e 900. Por 2,5 se o valor está entre 901 e 1000. Por 3,0 se o valor for maior que 1001. Procurei por fórmulas com essa função, porém, não encontrei nenhuma que atendesse as minhas necessidades. Minha dúvida é: Há alguma função no excel que tenha essas caracteristicas ou terei que usar VBA? Se terei que usar VBA, alguém poderia me passar como criar essa fórmula, um tutorial ou algo assim? Pois não faço a mínima idéia de como cria-la. Tenho uma fórmula criada em VBA aqui para outra função, mas já peguei ela pronta na internet do jeito que eu precisava.
  5. Tenho um banco de dados access que é atualizado constantemente, gostaria de consultar periodicamente esse banco de dados e enviar e-mail's a partir dos resultados da consulta.
  6. Bom dia pessoal, estou com uma macro de VByes e VBno que adiciona uma caixa de texto e me direciona para o email. O problema é que quando eu seleciono a opção de "não" ela da erro de execução. alguém consegue me ajudar com esse erro? Segue o código. Public Sub Mensagem() Application.ScreenUpdating = False Dim sugestao As VbMsgBoxResult sugestao = MsgBox("Gostaria de enviar alguma sugestão para [email protected]?", vbYesNo, "RH - Seleção") If sugestao = vbYes Then Range("T15").Select Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True Range("h6").Select Application.ScreenUpdating = True End Sub
  7. Bom dia amigos... sou novo no forum, e estou começando com VBA.Tenho um formulário em pdf, porém está em inglês. Estou fazendo o mesmo formulário em português, no excel, porém estou com um problema: quando clico em algumas células, ela insere um marcador. Eu gostaria de limitar os marcadores para apenas uma das células da coluna ou seja, quando clico em outra célula o marcador se apaga e é inserido na nova célula que eu cliquei.estou utilizando o seguinte código, porém ele não faz o que eu quero, ele só insere o marcador, porém mantém todos, não apaga um para inserir outro:Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Not Intersect(Target, Range("e7:e12")) Is Nothing ThenApplication.EnableEvents = FalseIf ActiveCell.Value = ChrW(&H2713) ThenActiveCell.ClearContentsElseActiveCell.Value = ChrW(&H2713)End IfCancel = TrueEnd IfApplication.EnableEvents = TrueEnd subObservação: estou fazendo uma planilha no excel, traduzida para o português, com base em um arquivo interativo em pdf... eu quero fazer na minha planilha o que faz no pdf interativo. O pdf etá nesse endereço: http://www.ergonomiesite.be/documenten/tillen/KIM-tillen-interactief.pdf
  8. Olá, Tenho a seguinte dúvida. Estou criando um chat usando duas textbox, para receber mensagens e a outra que seria as mensagens que enviei, e quero deixa-lo organizado da mesma maneira que um chat ao enviar as mensagens. Por exemplo, na texbox1 (a que recebe minhas mensagens enviadas) está com multLine ativo (ambas estão), então quando exceder o espaço dela, quebrará para próxima linha. Quando receber dados na textbox2 (a que recebe as mensagens de resposta) ele deverá contar as linhas da textbox1 e pular na textbox2, começando a exibir os dados somente a partir do número de linhas utilizado na textbox1. Porém não conseguir fazer isso funcionar... Estava tentando usar laço de repetição, porém do jeito que tentei não funcionou... Private Sub btnEnviar_Click() If txtChatEnv = "" Then Else txtEnvResp.Text = txtEnvResp.Text & (" - " & Now()) & vbCrLf txtEnvResp.Text = txtEnvResp.Text & txtChatEnv.Text & vbCrLf txtEnvResp.SetFocus L = txtEnvResp.LineCount txtRecResp.SetFocus P = txtRecResp.LineCount Do Until P <> L txtRecResp.SetFocus P = P + 1 txtRecResp.Text = txtRecResp.Text & vbCrLf Loop txtRecResp.Text = "teste" txtChatEnv.SetFocus txtChatEnv = "" End If End Sub Se alguém souber como fazer isso funcionar, desde já agradeço!
  9. Boa tarde, Estou tentanto criar um formulário que pesquisa dados no meu ficheiro em excel, mas não estou conseguindo, dá sempre erro: "Run-time error '1004': Select Method of worksheet class field" E não consigo passar daqui. Código: Private Sub CommandButton1_Click() Pesquisa_Venda.Show False End Sub Private Sub TextBox1_AfterUpdate() Dim intervalo As Range Dim texto As String Dim codigo As Long Dim pequisa Dim mensagem codigo = TextBox1.Text Sheets("Serviços").Select Set intervalo = Range("A10:N100000") On Error GoTo trataErro Parceiro = Application.WorksheetFunction.VLookup(codigo, intervalo, 2, False) Nomeclt = Application.WorksheetFunction.VLookup(codigo, intervalo, 3, False) NIFclt = Application.WorksheetFunction.VLookup(codigo, intervalo, 4, False) Tarifario = Application.WorksheetFunction.VLookup(codigo, intervalo, 7, False) datarec = Application.WorksheetFunction.VLookup(codigo, intervalo, 10, False) datareg = Application.WorksheetFunction.VLookup(codigo, intervalo, 11, False) estado = Application.WorksheetFunction.VLookup(codigo, intervalo, 8, False) TextBox2.Text = Nomeclt TextBox3.Text = Parceiro TextBox4.Text = NIFclt TextBox5.Text = Tarifario TextBox6.Text = datarec TextBox7.Text = datareg TextBox8.Text = estado TextBox1.SetFocus Exit Sub trataErro: texto = "O NIF indicado não consta na base de dados" mensagem = MsgBox(texto, vbOKOnly + vbInformation) End Sub Private Sub UserForm_Click() End Sub
  10. Alguém manja como fazer uma macro que fique rodando o aleatório e ela parar automaticamente quando um determinado objetivo for atingido?
  11. Boa tarde Pessoal, Tenho uma planilha que no caso seria minha planilha principal onde em uma coluna da mesma possui-se o nome de outras planilhas (abas de trabalho ou no caso outras Worksheets), gostaria de uma função que ao selecionar esse coluna que tem o nome das planilhas e indicar uma celular, Ex: "C1", ele fosse até a planilha em questão na célula em questão e me retorna-se o valor da mesma. Já tentei de diversas formas, porém ou dá erro de referência ou erro de valor, abaixo segue uma das funções que criei: Function VALORES(nomePlan As Range, refe As String) ActiveCell.Value = Worksheets(nomePlan.Value).Range(refe).Value End Function Se puderem me ajudar agradeço.
  12. Saudações pessoal, Tenho uma dúvida no seguinte. Existe alguma maneira ou alguma línguagem que facilite a leitura automática das respostas de um e-mail padronizado transformando o conteúdo dele em dados para uma planilha no Excel? Compensa eu fazer um programa pra isso ou consigo usar os artifícios do Excel?
  13. Boa noite, Tenho ficheiro onde através de um formulário ele guarda os dados do mesmo numa tabela à parte, no entanto precisava que ao pressionar enviar, o formulário além de guardar os dados nessa tabela, enviasse também por mail todo o conteúdo, ou seja, o texto e imagens. Além disso gostava também que o mail assumisse no assunto e no corpo do mail dados do preenchimento do formulário. Abaixo imagem do formulário e mail que é pretendido enviar. Formulário: https://uploaddeimagens.com.br/imagens/sem_titulo-jpg-0b6713c0-2d3f-4921-b79a-220bb6940d2e Mail: https://uploaddeimagens.com.br/imagens/sem_titulo_2-jpg-465a1b46-3071-4c79-b94e-114578b3156b O pretendido é que mediante a Tecnologia escolhida, ele envie o mail para uma caixa de mail, exemplo: Fibra: [email protected] ADSL: [email protected] E que onde representei as variáveis, as mesmas sejam substituídas pelos dados do formulário que se encontram nos campos correspondentes ás mesmas, incluindo também a imagem carregada no formulário, no corpo do mail, tal como está no anexo. Será que me podem ajudar? Obrigado.
  14. Tenho um problema com meu código de transcodificação. Eu tenho essa função translate o qual codifica e descodifica uma mesnagem, mas quando ela descodifica, a mensagem sai toda errada. Eis o código abaixo. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Public Function translator(ByVal text As String, ByVal from As String, ByVal dest As String) As String Dim i As Integer For i = 1 To Len(from) Debug.Print Mid(from, i, 1) & vbTab & "#" & Format$(i, "00") & "#" text = Replace(text, Mid(from, i, 1), "#" & Format$(i, "00") & "#") i = i + 1 Next For i = 1 To Len(from) Debug.Print "#" & Format$(i, "00") & "#" & vbTab & Mid(dest, i, 1) text = Replace(text, "#" & Format$(i, "00") & "#", Mid(dest, i, 1)) i = i + 1 Next translator = text End Function ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Agradeço a ajuda.
  15. Estou usando uma planilha Excel com macros programadas em vba. Preciso criar uma conexão SOAP para acessar um WSDL de um serviço de chamados, mas recebo erro ao tentar iniciar o objeto SOAP. "O componente ActiveX não pode criar objeto" Segue o código: Sub teste() Dim wsConn As New SoapClient30 Dim wsAuth As String 'Inicializa o SOAP acessando WSDL Set wsConn = New MSSOAPLib30.SoapClient30 wsConn.MSSoapInit "http://empresa.com.br/ws/services/Ticket/WSTicket.wsdl" 'Realiza o LOGIN wsAuth = wsConn.LOGIN(“conexão_ws”, “123”, “1”) End Sub O manual de integração da ferramenta orienta a fazer desta forma e está disponível aqui. O erro é acusado na linha Set wsConn = New MSSOAPLib30.SoapClient30 Estou usando na empresa um Windows 7 64bit recém instalado, Office 2016 (problema também acontece em Office 2013). O pc fica dentro de uma rede No meu pc pessoal o objeto é criado. Este tem Windows 10 e Office 2016 Já fiz instalação do pacote SoapToolkit30.exe. A importação acontece normalmente e foi o mesmo pacote que instalei no meu pc. A DLL está devidamente referenciada. Já procurei exaustivamente na internet pela solução desse problema e nada até agora resolveu.
  16. Olá! Sou novo por aqui e preciso da ajuda de vocês. Estou criando uma planilha para uma igreja lançar seus dízimos e suas despesas. Criei um formulário de lançamentos e no código, há uma opção de pesquisar pelo número de lançamento e apagar aquele lançamento da pesquisa. O problema é que o código está apagando também o número de lançamento, que está na primeira coluna (A:A). Como fazer para apagar somente a partir do número de lançamento? Abaixo, o código que uso e um print do formulário com a planilha. Private Sub bt_excluir_Click() 'Declarar a variável Resp para receber uma resposta Dim Resp As Integer 'Fazer a busca do registro digitado pelo usuário With Worksheets("Saídas").Range("A:A") Set c = .Find(txt_lançamento.Value, LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then Resp = MsgBox("Tem certeza que deseja excluir o registro?", vbYesNo, "Confirmação") If Resp = vbYes Then c.Select ActiveCell.Delete Selection.EntireRow.Delete 'Limpar as caixas de texto txt_data.Value = Empty txt_empresa.Value = Empty txt_cnpj.Value = Empty txt_nf.Value = Empty txt_documento.Value = Empty txt_discriminação.Value = Empty txt_banco.Value = Empty txt_valor.Value = Empty txt_juros.Value = Empty txt_data.SetFocus Else MsgBox "O registro não será excluído!" End If Else MsgBox "Registro não excluído" End If End With Exit Sub End Sub Aguardo pela ajuda de vocês.
  17. Amigos, bom dia. Li atentamente os tópicos do forum mas não encontrei o que procurava. Se alguém tiver ideia, por favor, auxilie. PROBLEMA: No meu trabalho, há uma planilha que recebe atualizações em tempo real de dados de temperatura (é um link RTD. mas também existe o DDE). Ele coloca num célula do excel o último valor de temperatura que a CETESB informa. Tenho somente uma célula do excel que fica alternando esse valor a cada segundo. Gostaria de registrar esses valores a cada segundo e colocar num gráfico, registrar (minuto a minuto) o valor máximo, mínimo. Se puder ajudar, agradeço. Julio
  18. Bom dia pessoal, sou novo na utilização do VBA e não sei legal a utilização do loop Fiz um código para copiar vária células (Planilha Maio (1)coluna B da linha 4 para baixo) e colar dentro de uma única com quebra de página(Planilha Maio Célula B7), só que eu quero que copia somente as células que tem conteúdo, fiz do Range B4:B10 de uma forma muito manual, queria aumentar esse range de uma forma automática, segue abaixo o que eu fiz: Sub () Sheets("Maio").Activate Range("B7").Select If Sheets("Maio (1)").Range("B10") <> "" Then ActiveCell.Value = Sheets("Maio (1)").Range("B4") & vbCrLf & Sheets("Maio (1)").Range("B5") _ & vbCrLf & Sheets("Maio (1)").Range("B6") & vbCrLf & Sheets("Maio (1)").Range("B7") _ & vbCrLf & Sheets("Maio (1)").Range("B8") & vbCrLf & Sheets("Maio (1)").Range("B9") _ & vbCrLf & Sheets("Maio (1)").Range("B10") ElseIf Sheets("Maio (1)").Range("B9") <> "" Then ActiveCell.Value = Sheets("Maio (1)").Range("B4") & vbCrLf & Sheets("Maio (1)").Range("B5") _ & vbCrLf & Sheets("Maio (1)").Range("B6") & vbCrLf & Sheets("Maio (1)").Range("B7") _ & vbCrLf & Sheets("Maio (1)").Range("B8") & vbCrLf & Sheets("Maio (1)").Range("B9") ElseIf Sheets("Maio (1)").Range("B8") <> "" Then ActiveCell.Value = Sheets("Maio (1)").Range("B4") & vbCrLf & Sheets("Maio (1)").Range("B5") _ & vbCrLf & Sheets("Maio (1)").Range("B6") & vbCrLf & Sheets("Maio (1)").Range("B7") _ & vbCrLf & Sheets("Maio (1)").Range("B8") ElseIf Sheets("Maio (1)").Range("B7") <> "" Then ActiveCell.Value = Sheets("Maio (1)").Range("B4") & vbCrLf & Sheets("Maio (1)").Range("B5") _ & vbCrLf & Sheets("Maio (1)").Range("B6") & vbCrLf & Sheets("Maio (1)").Range("B7") ElseIf Sheets("Maio (1)").Range("B6") <> "" Then ActiveCell.Value = Sheets("Maio (1)").Range("B4") & vbCrLf & Sheets("Maio (1)").Range("B5") _ & vbCrLf & Sheets("Maio (1)").Range("B6") ElseIf Sheets("Maio (1)").Range("B5") <> "" Then ActiveCell.Value = Sheets("Maio (1)").Range("B4") & vbCrLf & Sheets("Maio (1)").Range("B5") ElseIf Sheets("Maio (1)").Range("B4") <> "" Then ActiveCell.Value = Sheets("Maio (1)").Range("B4") End If End Sub Se alguém puder ajudar agradeço.
  19. Olá! Sou novo por aqui e preciso da ajuda de vocês. Estou criando uma planilha para uma igreja lançar seus dízimos e suas despesas. Criei um formulário de lançamentos e no código, há uma opção de pesquisar pelo número de lançamento e apagar aquele lançamento da pesquisa. O problema é que o código está apagando também o número de lançamento, que está na primeira coluna (A:A). Como fazer para apagar somente a partir do número de lançamento? Abaixo, o código que uso e um print do formulário com a planilha. Private Sub bt_excluir_Click() 'Declarar a variável Resp para receber uma resposta Dim Resp As Integer 'Fazer a busca do registro digitado pelo usuário With Worksheets("Saídas").Range("A:A") Set c = .Find(txt_lançamento.Value, LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then Resp = MsgBox("Tem certeza que deseja excluir o registro?", vbYesNo, "Confirmação") If Resp = vbYes Then c.Select ActiveCell.Delete Selection.EntireRow.Delete 'Limpar as caixas de texto txt_data.Value = Empty txt_empresa.Value = Empty txt_cnpj.Value = Empty txt_nf.Value = Empty txt_documento.Value = Empty txt_discriminação.Value = Empty txt_banco.Value = Empty txt_valor.Value = Empty txt_juros.Value = Empty txt_data.SetFocus Else MsgBox "O registro não será excluído!" End If Else MsgBox "Registro não excluído" End If End With Exit Sub End Sub Aguardo pela ajuda de vocês.
  20. Olá pessoal, primeiro post aqui no forum, espero estar na sessão correta. Tenho interesse de construir um form que contenha uma TrackBar, como a da imagem abaixo. Há possibilidade de inseri-lo via VBA, Excel? Desde já, Obrigado!
  21. Sou iniciante em vba, peguei vários recortes de códigos e está funcionando corretamente, mas queria fazer um upgrade, invés da macro salvar no diretório que foi selecionado através do caminho em uma célula do excel, gostaria que fosse aberta uma janela para o usuário escolher onde exportar o txt. Sub GravarArquivoTxt() Sheets("plan1").Select 'aqui está salvando em um diretório que está na planilha na célula B1, nessa parte queria que fosse aberta uma janela para selecionar um diretório. Open Range("B1").Value & "\" & Range("D1").Value & ".txt" For Output As 1 Cells(2, 1).Select While ActiveCell.Value <> "" Print #1, ActiveCell.Value Cells(ActiveCell.Row + 1, ActiveCell.Column).Select Wend MsgBox "Arquivo gerado com sucesso!", vbInformation, "Informação" Close 1 Exit Sub ErroAcesso: MsgBox "Erro ao acessar a pasta." & Chr(13) & "Verifique se ela existe e/ou se o endereço está correto.", vbCritical, "Atenção," End Sub
  22. Boa tarde Pessoal!! Tenho uma base que recebo mensalmente com 79 colunas, mas só utilizo 10 colunas da mesma. Gostaria de criar uma macro que "limpasse" esta base para me trazer em uma outra pasta apenas as colunas que preciso. Seria legal eu definir as coluna com uma variável, pois cada coluna tem um um nome, e gostaria de atribuir a macro a um botão pois como a base é mensal seria bem mais fácil atribuir a um botão. Muito Obrigado e fico no aguardo!
  23. Boa tarde Pessoal!! Tenho uma base que recebo mensalmente com 79 colunas, mas só utilizo 10 colunas da mesma. Gostaria de criar uma macro que "limpasse" esta base para me trazer em uma outra pasta apenas as colunas que preciso. Seria legal eu definir as coluna com uma variável, pois cada coluna tem um um nome, e gostaria de atribuir a macro a um botão pois como a base é mensal seria bem mais fácil atribuir a um botão. Muito Obrigado e fico no aguardo!
  24. Boa noite pessoal, estou precisando da ajuda de voces. Estou desenvolvendo um tipo de sistema para gestão de academias mas poderá ser utilizada em vários negócios. Estou utilizando um banco de dados Access 2016 e o VBA do Excel 2016 no Win 10. Os códigos estão distribuídos assim: Em um módulo estão as rotinas para abrir e fechar o BD e as planilhas e nos forms as instruções e os tratamentos de erro. Primeiramente eu não estava conseguindo ativar a referencia DAO360, depois de muito pesquisar descobri uma maneira e consegui ativar mas agora quando tento acessar o BD, o sistema apresenta a seguinte msg: Erro em tempo de execução '429'O O componente Activex não pode criar o objeto e na depuração marca a conexão com o BD: Sub conecta() Set banco = OpenDatabase("C:\Users\.....\Cadastro_Cliente.mdb"). alguém tem alguma dica para resolver esse problema????
  25. Boa tarde, necessito da vossa ajuda. tenho um código em VBA no access que faz o envio automático de email via outlook. Nesse código, estou a utilizar a função GetBoiler que vai buscar a minha assinatura do outlook: Function GetBoiler(ByVal sFile As String) As String 'Dick Kusleika Dim fso As Object Dim ts As Object Set fso = CreateObject("Scripting.FileSystemObject") Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2) GetBoiler = ts.readall ts.Close End Function Mas acontece que a minha assinatura é constituida por texto e por uma imagem. O código vai buscar a assinatura mas não mostra a imagem. Já verifiquei tudo o que tinha de verificar nas "opções" do outlook e está tudo Ok. Até porque se eu envio o email normalmente a assinatura aparece com a imagem. Podem ajudar? Preciso mesmo de resolver esta situação. Obrigado! Segue o código da minha função: Function EnviarMailAutomatico() On Error GoTo EnviarMail_Err Dim objOut As Object Dim objMail As Object Dim msg As String Dim resp As Integer Dim MyFile Dim SigString As String Dim Signature As String Dim Utilizador As String Dim strbody As String Const olMailItem = 0 Const olByValue = 1 Utilizador = UtilizadorRede ' Verifica se a caixa de seleção já está selecionada If Forms!Pedido!Enviado.Value = True Then MsgBox "Desculpe, mas você já enviou este e-mail. " _ & "Não é possível enviar o mesmo e-mail mais " _ & "de uma vez", vbCritical Else 'Retornar o nome do ficheiro da assinatura para o utilizador de rede que está logado no Computador MyFile = Dir("C:\Users\" & Utilizador & "\AppData\Roaming\Microsoft\Signatures\" & "*.htm") ' Confirmar antes de enviar o e-mail. resp = MsgBox("Você está prestes a enviar um e-mail de" _ & " confirmação de despacho. Deseja realmente continuar?", _ vbQuestion + vbYesNo) If resp = vbYes Then ' Cria os objetos Set objOut = CreateObject("Outlook.application") Set objMail = objOut.CreateItem(olMailItem) strbody = "<H3>Caros colegas,</H3>" & _ "Peço que se elimine o pedido número " & Forms!Pedido!Ped & _ ".<br>" & _ "<br><br><B>Obrigado</B>" 'Atribuir a assinatura do remetente SigString = Environ("appdata") & _ "\Microsoft\Signatures\" & _ MyFile If SigString <> "" Then Signature = GetBoiler(SigString) Else Signature = "" End If On Error Resume Next With objMail .BodyFormat = olFormatHTML .To = "[email protected]" .CC = "[email protected]" .Subject = "Eliminar pedido " & Forms!Pedido!Ped .HTMLBody = strbody & "<br>" & Signature End With ' Envia o e-mail objMail.Display ' Remove os objetos da memória Set objMail = Nothing Set objOut = Nothing End If End If EnviarMailAutomatico_Exit: Exit Function EnviarMailAutomatico_Err: MsgBox Error$ Resume EnviarMail_Exit End Function