Ir ao conteúdo
  • Cadastre-se

Crafteribanez

Membros Plenos
  • Total de itens

    79
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

8

Sobre Crafteribanez

  • Data de Nascimento 07-10-1969 (49 anos)

Informações gerais

  • Cidade e Estado
    Porto Alegre,rs
  1. Boa tarde Este é um procedimento normal que utilizo no Excel2010-2013 para consultar dados em um outra pasta do Excel via SQL. Questiono quando a pasta que quero abrir possuir senha de proteção e senha de gravação, qual parte do código modifico para inserir estas senhas ? Sub SQLConsulta() Application.ScreenUpdating = False On Error GoTo SQLSEMRETORNO Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim sql As String Dim x As Integer Dim INSTRUMENTO As String Plan9.Activate Cells.Select Selection.ClearContents Set cn = New ADODB.Connection With cn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = ThisWorkbook.FullName .Properties("Extended Properties") = "Excel 8.0;HDR=YES" .Open End With sql = "Select * from [Plan1$]" Set rs = New ADODB.Recordset rs.Open sql, cn, adOpenKeyset, adLockOptimistic, adCmdText Plan9.Range("A2").CopyFromRecordset rs Cells.Select Selection.RowHeight = 15 For x = 1 To rs.Fields.Count Cells(1, x) = rs.Fields(x - 1).Name Next x rs.Close cn.Close Set rs = Nothing Set cn = Nothing Application.ScreenUpdating = True Exit Sub SQLSEMRETORNO: MsgBox "A consulta não gera nenhum resultado" rs.Close cn.Close Set rs = Nothing Set cn = Nothing Application.ScreenUpdating = True End Sub
  2. Acredito que o erro seja porque o SQL considera o máximo comprimento possível de colunas no Excel 250. Sendo assim tive de reduzir a quantidade de caracteres as informações. Assim o form funciona perfeitamente.
  3. Boa Tarde Tenho um form em Excel2013 e coloquei um textbox para receber entrada de usuários. Textos muito extensos ele não aceite por limite de caracteres. Pesquisando pelo que pude descobrir o limite é 255 caracteres. Preciso incluir em muitos casos 1000 caracteres. Pesquisando novamente descobri o comando " Textbox35.MaxLength = 1000" Coloquei isto no userform initialize. Não funcionou, continua limitando. Alguma forma de poder incluir mais de 255 caracteres em um texto box ? ** Detalhe adicional ** Utilizo um comando SQL para buscar este campo e inserir os dados em outra planilha. Todos os outros campos de texto funcionam normalmente na SQL.
  4. Resolvido. Utilizei um laço for each na tabela e coloquei todos os valores em uma variável, a qual busquei na SQL.
  5. Bom dia Uma dúvida que não sei se é possível. Tenho um código SQL em Excel que lê dados de uma tabela e e coloca os dados em outra. Perfeito se não fosse o fato de colar todos os dados. O que quero fazer ? Na cláusula de pesquisa Where da SQL quero colocar um código de produto. Más não é só um código. O usuário em uma Sheet "Planilha" específica do Excel tipo "Plan3" vai ir digitando os códigos que quer filtrar no relatório. Vou colocar um cabeçalho na primeira coluna "A1" da Plan3 escrito " Código" e aí o usuário nas linhas A2, A3 e assim por diante vai colocando os códigos que ele quer filtrar. Gostaria de passar esta tabela/coluna "Plan3/A" como parâmetro para a cláusula Where da SQL. Seria tecnicamente um Where de uma Range. Assim o resultado seria a pesquisa Where de todos os códigos constantes na coluna A da Tabela Plan3. Tem como fazer isto ? Código que tenho e funciona perfeito para todos os dados. Sub SQLBusca() Application.ScreenUpdating = False On Error GoTo SQLSEMRETORNO Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim sql As String Dim ws As Worksheet Set ws = Worksheets("DESCARREGAR") ws.Activate Range("A:M").Select Selection.Clear Set cn = New ADODB.Connection With cn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = ThisWorkbook.FullName .Properties("Extended Properties") = "Excel 8.0;HDR=YES" .Open End With sql = "Select * from [P0100_UniaoGeral$] WHERE CODIGO ????" Set rs = New ADODB.Recordset rs.Open sql, cn, adOpenKeyset, adLockOptimistic, adCmdText Application.ScreenUpdating = True ws.Activate Application.ScreenUpdating = False Range("A2").CopyFromRecordset rs Cells.Select Selection.RowHeight = 15 For x = 1 To rs.Fields.Count Cells(1, x) = rs.Fields(x - 1).Name Next x Application.ScreenUpdating = True rs.Close cn.Close Set rs = Nothing Set cn = Nothing Exit Sub SQLSEMRETORNO: MsgBox "A consulta não gera nenhum resultado" rs.Close cn.Close Set rs = Nothing Set cn = Nothing Application.ScreenUpdating = True End Sub
  6. Bom dia Tenho o seguinte erro quando rodo um script python 3.6.3. (unicode error)'unicodeescape' codec can't decode bytes in position 22-23 truncated\UXXXXX escape Código: import os arquivo = open("Arvore.txt","w") for folderName, subfolders, filenames in os.walk('\\\PstaPrincipalRede\PasteSecundariaRede\Pasta_Interna'): arquivo.write("%s\n" % folderName) arquivo.close() Acredito que o erro seja no underscore da pasta interna, pois verifique que não salva o arquivo txt exatamente em todas as pastas internas que tem o underscore. tem alguma maneira de no Python 3.6.3 resolver este problema do underscore ?
  7. Bom dia, adaptei o seguinte código que achei na web em um Listbox no Excel. Ele pesquisa correto na segunda coluna do listbox, porém somente busca os valores digitados que "começam" com o ditigado. Se a palavra estiver no meio da string na coluna, não busca. Ex: Se buscar " João de Deus " e digitar " João " encontra, más se eu quiser buscar " de Deus " não localiza visto não começar com " de Deus". Tentei colocar "*" & TextBox1.Text & "*" Não funciona. Alguma ideia ? Private Sub TextBox11_Change() valor_pesquisado_i = TextBox11.Text Dim guia As Worksheet Dim linha As Integer Dim coluna As Integer Dim linhalistbox As Integer Dim valor_celula As String Set guia = ThisWorkbook.Worksheets("ListaFormPregao") codigo = txt_codigo linha = 2 coluna = 2 linhalistbox = 0 frmListaPregoes.ListBox1.RowSource = "" With guia While .Cells(linha, coluna).Value <> Empty valor_celula = .Cells(linha, coluna).Value If UCase(Left(valor_celula, Len(valor_pesquisado_i))) = UCase(valor_pesquisado_i) Then With frmListaPregoes.ListBox1 .AddItem .List(linhalistbox, 0) = Sheets("ListaFormPregao").Cells(linha, 1) .List(linhalistbox, 1) = Sheets("ListaFormPregao").Cells(linha, 2) linhalistbox = linhalistbox + 1 End With End If linha = linha + 1 Wend End With End Sub
  8. Encontrei o seguinte código na Web para listar os e-mails do Outlook de uma pasta específica no Excel. Funciona bem para pastas particulares .pst. Eu gostaria de adaptar este código para leitura da caixa de entrada do Outlook direto. Tentei no "olNS.Folder(Exchange).Folders("Caixa de entrada) Más só dá erro. Alguma dica ? Dim appOutlook As Object Dim olNS As Object Dim olFolder As Object Dim olItem As Object Dim r As Long On Error Resume Next Set appOutlook = GetObject(, "Outlook.Application") If appOutlook Is Nothing Then Set appOutlook = CreateObject("Outlook.Application") End If On Error GoTo 0 Set olNS = appOutlook.GetNamespace("MAPI") Set olFolder = olNS.Folders("PastaParticularOutlook2010Jafags").Folders("Excel 2018") Cells.Delete r = 3 Range("A3:K3") = Array("Título", "Quem enviou", "Para", "Data e Hora", "Anexos", "Tamanho", "Última modificação", "Categoria", "Nome do Remetente", "Tipo de acompanhamento", "Conteúdo") For Each olItem In olFolder.Items If TypeName(olItem) = "MailItem" Then
  9. Bom dia Estou ajudando um colega a exportar um relatório do Access 2002 para PDF Encontrei a seguinte linha de comando, pesquisando nos foruns. 'DoCmd.OutputTo acOutputReport, "relatorio_ordem_servico", acFormatPDF, "C:\\relatorio_ordem_servico.pdf" Coloquei um botão no formulário direcionando para este comando VBA e sempre dá erro na parte "acFormatPDF". Sendo Access 2002, tem que referenciar alguma biblioteca ? ou este comando não funciona no Access 2002 ?
  10. Sim, Python no Windows 7. Não conhecia a extensão .pyw, o material que tenho "os livros" não falam sobre esta extensão, mesmo porque estes livros para iniciantes não trabalham com GUI, pelo menos não encontrei ainda um que explicasse isto. Abri o arquivo no editor (PyScripter) e salvei como Calculo.pyw como indicado. Funcionou, abriu direto o formulário e está calculando perfeito. Era isto mesmo que eu precisava. Grato.
  11. Boa Tarde Tenho um formulário criado no tkinter Python 3.6.3 Roda no meu micro através do arquivo Calculo.py Sempre que vou rodar o formulário tenho que abrir o arquivo Calculo.py com o script e rodar o formulário através da opção Run F5. Tem algum modo de clicar no arquivo ou criar um arquivo e não abrir o código, rodar o formulário diretamente ? Obs: O micro que rodar terá o Python instalado. Exemplo: no Java eu crio o .java e depois o .class que é o bytecode. E no pýthon tem algum método para rodar diretamente ? Grato.
  12. A primeira foto esquerda é do Excel 2010 a da direita Excel 2013 As bibliotecas no 2013 são 15.0 enquanto no 2010 são 14.0. Verifiquei no 2013 e as bibliotecas: Microsoft Excel 14.0 Object Library não existe; Microsoft Office 14.0 Object Library também não existe; AUSENTE: Microsoft Word 15.0 Object Library. Vou verificar as bibliotecas aqui ................. PERFEITO !!!!!!!!!!! Fui em outro micro com Excel 2010 e selecionei a biblioteca Microsoft Word 14.0 Object Library e voltou a funcionar no Excel 2010 ! Show., Quanto o setor de informática instalou a nova versão do Office para 2013, removeu o 2010 por inteiro inclusive as bibliotecas, como nos que tem 2010 a biblioteca está lá, foi só apontar de novo para o 14.0 que voltou a funcionar.
  13. Bom dia Tenho um sistema com macros no Excel criado inicialmente no Excel 2010 32 bits. Outros usuários com Excel 2010 32 bits, também utilizam. Funciona perfeitamente. Foi instalado na minha máquina o Excel 2013 e também com 32 bits, olhei nas informações do produto. Fiz algumas alterações no código VBA nas macros e salvei, obviamente no Excel 2013. O pessoal que tem o Excel 2010 32 bits, não consegue mais rodas as macros. Erro apontado: " Erro de compilação: É impossível localizar o projeto ou a biblioteca " O erro dá quando o código chega na variável pesquisa1 utilizando as funções internas do Excel WorksheetFunction.VLookup Sempre funcionou no Excel 2010 até atualizar o código no Excel 2013. Dim pesquisa 'Definição de variável pesquisa sem tipo especificado fica variant pesquisa = Application.WorksheetFunction.VLookup(codigo, intervalo, 2, False) 'Ano Alguma sugestão ?
  14. Boa noite: Tenho um programa que seleciono vários arquivos em uma lista e peço para imprimir cada um sequencialmente em PDF. As impressoras PDF imprimem sempre o nome do arquivo "Memorando" e na sequencia o próximo arquivo, também é colocado o nome de "Memorando". Isto faz com que ao imprimir 20 arquivos, o resultado na pasta é somente 1 arquivo com o nome "Memorando". Pergunta ? Tem algum programa para imprimir em PDF, que se possa selecionar uma impressão sequencial no nome tipo "Memorando1", "Memorando2", e assim por diante ? Ou algo parecido ? Ou algum tutorial de como criar uma impressora PDF em que se possa criar estas opções ? Grato por uma ideia.
  15. Boa Tarde Estou tentando fazer uma SQL no VBA, porém com a conexão a duas pastas de trabalho no mesmo diretório. Via conexão pelo Ribbon eu consigo fazer, porém quero aprender como fazer o código. A primeira consulta que fiz retornou os dados corretamente, porém com apenas uma pasta Sub ConsultaSQL() Dim ConexaoPlan As New ADODB.Connection Dim rsConsulta As New ADODB.Recordset Dim sql As String Plan1.Range("A2:E5000").Value = Empty Plan1.Range("A4").Select ConexaoPlan.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\PastaExcel\Pasta1.xls'" & ";Extended Properties=Excel 8.0" ConexaoPlan.Open sql = "Select * from [Base1$]" rsConsulta.Open sql, ConexaoPlan, adOpenKeyset, adLockOptimistic Plan1.Range("A2").CopyFromRecordset rsConsulta End Sub A segunda consulta, não estou conseguindo unir duas Pastas de trabalho no mesmo diretório. Sub ConsultaSQL2() Dim ConexaoPlan As New ADODB.Connection Dim ConexaoPlan2 As New ADODB.Connection Dim rsConsulta As New ADODB.Recordset Dim sql As String Plan1.Range("A2:E5000").Value = Empty Plan1.Range("A4").Select ConexaoPlan.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\PastaExcel\Pasta1.xls'" & ";Extended Properties=Excel 8.0" ConexaoPlan2.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\PastaExcel\Pasta2.xls'" & ";Extended Properties=Excel 8.0" ConexaoPlan.Open ConexaoPlan2.Open sql = "Select * from 'C:\PastaExcel\Pasta1.xls'[Base1$]UNION ALL" sql = sql & "Select * from 'C:\PastaExcel\Pasta2.xls'[Base1$]" rsConsulta.Open sql, ConexaoPlan, adOpenKeyset, adLockOptimistic Plan1.Range("A2").CopyFromRecordset rsConsulta End Sub Se alguém tiver uma ideia agradeço. Bom. o projeto é unir mais que dez Pastas de trabalho, porém se eu conseguir com duas consigo com 10. Grato.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×