-
Posts
68 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Kleber Bispo
-
-
@Henrique - RJ @Henrique - RJ Henrique, é um bom notebook com Ryzen 7, placa de vídeo dedicada e memória. Por isso fiquei surpreso de ele ficar extremamente lento utilizando o Linux.
-
Okay, boa tarde!
Instalei o Linux em dual boot com windows por suas vezes e distros diferentes (mint e Ubuntu), mas em ambas as tentativas, o Linux ficou extremamente lento e não reconhecia o wi-fi.
Alguém já passou por esse problema. Eu fiz a instalação bdo Linux ao lado da instalação do windows.
obrigado.
-
2 horas atrás, Midori disse:
@Kleber Bispo Da forma que está fazendo dá muito trabalho colocar as colunas, se fossem 100 teria que escrever essa quantidade de linhas. Não percebo nenhum erro no código. Se possível anexe a planilha com dados fictícios onde o erro acontece.
Uma forma de deixar o código mais simples é com outro loop para as colunas, p.ex,
Assim é só passar a quantidade de colunas para o parâmetro QtdCol. Neste caso foram 45, mas pode passar a quantidade necessária sem ter que editar a Sub.
Sub MacroGeraTXT() Call GeraTXT( _ ThisWorkbook.ActiveSheet, _ ThisWorkbook.Path & "\NomeDoArquivo2.txt", 45) MsgBox "Processo concluído!" End Sub Sub GeraTXT(Planilha As Worksheet, Arquivo As String, QtdCol As Integer) Dim Texto As String Dim Linha As Long Dim Coluna As Integer Linha = 2 Coluna = 1 Open Arquivo For Output As #1 Do Until Planilha.Cells(Linha, 1).Value = "" While Coluna <= QtdCol Texto = Texto & Planilha.Cells(Linha, Coluna).Value _ & IIf(Coluna < QtdCol, "|", "") Coluna = Coluna + 1 Wend Print #1, Texto Texto = "" Coluna = 1 Linha = Linha + 1 Loop Close #1 End Sub
Sua macro é mais inteligente. Vou utilizar.
Na verdade, essa tabela que estou transformando em txt está preenchida com fórmulas. Vi que o erro acontece quando existe #Ref ou #Valor em alguma célula.
Vou ter que tratar isso.
Obrigado.
- 1
-
Dá uma olhada nesse link da hashtag treinamentos, fazem um cadastro de clientes sem o VBA.
- 1
-
Olá, boa noite!
Tenho uma macro que exporta os dados de uma determinada planilha para um arquivo de texto. Funciona que é uma beleza!
Mas ao utilizar está macro em uma planilha com muitas colunas ocorre erro. Notei que acima de 25 colunas gera um erro em tempo de execução 13: tipos incompatíveis.
É possível contornar? Essa planilha tem mais de 40 colunas...
Sub gerar_txt() Dim linha As Integer linha = 2 Open Application.ThisWorkbook.Path & "\" & "NomeDoArquivo" & ".txt" For Output As 1 Do Until plan1.Cells(linha, 1) = "" v1 = plan1.Cells(linha, 1).Value v2 = plan1.Cells(linha, 2).Value v3 = plan1.Cells(linha, 3).Value v4 = plan1.Cells(linha, 4).Value v5 = plan1.Cells(linha, 5).Value v6 = plan1.Cells(linha, 6).Value v7 = plan1.Cells(linha, 7).Value v8 = plan1.Cells(linha, 8).Value v9 = plan1.Cells(linha, 9).Value v10 = plan1.Cells(linha, 10).Value v11 = plan1.Cells(linha, 11).Value v12 = plan1.Cells(linha, 12).Value v13 = plan1.Cells(linha, 13).Value v14 = plan1.Cells(linha, 14).Value v15 = plan1.Cells(linha, 15).Value v16 = plan1.Cells(linha, 16).Value v17 = plan1.Cells(linha, 17).Value v18 = plan1.Cells(linha, 18).Value v19 = plan1.Cells(linha, 19).Value v20 = plan1.Cells(linha, 20).Value v21 = plan1.Cells(linha, 21).Value v22 = plan1.Cells(linha, 22).Value v23 = plan1.Cells(linha, 23).Value v24 = plan1.Cells(linha, 24).Value v25 = plan1.Cells(linha, 25).Value v26 = plan1.Cells(linha, 26).Value v27 = plan1.Cells(linha, 27).Value v28 = plan1.Cells(linha, 28).Value v29 = plan1.Cells(linha, 29).Value v30 = plan1.Cells(linha, 30).Value v31 = plan1.Cells(linha, 31).Value v32 = plan1.Cells(linha, 32).Value v33 = plan1.Cells(linha, 33).Value v34 = plan1.Cells(linha, 34).Value v35 = plan1.Cells(linha, 35).Value v36 = plan1.Cells(linha, 36).Value v37 = plan1.Cells(linha, 37).Value v38 = plan1.Cells(linha, 38).Value v39 = plan1.Cells(linha, 39).Value v40 = plan1.Cells(linha, 40).Value v41 = plan1.Cells(linha, 41).Value v42 = plan1.Cells(linha, 42).Value v43 = plan1.Cells(linha, 43).Value v44 = plan1.Cells(linha, 44).Value v45 = plan1.Cells(linha, 45).Value Print #1, v1 & "|" & v2 & "|" & v3 & "|" & v4 & "|" & v5 & "|" & v6 & "|" & v7 & "|" & v8 & "|" & v9 & "|" & v10 & "|" & v11 & "|" _ & v12 & "|" & v13 & "|" & v14 & "|" & v15 & "|" & v16 & "|" & v17 & "|" & v18 & "|" & v19 & "|" & v20 & "|" & v21 _ & v22 & "|" & v23 & "|" & v24 & "|" & v25 & "|" & v26 & "|" & v27 & "|" & v28 & "|" & v29 & "|" & v30 & "|" & v31 _ & v32 & "|" & v33 & "|" & v34 & "|" & v35 & "|" & v36 & "|" & v37 & "|" & v38 & "|" & v39 & "|" & v40 & "|" & v41 _ & v42 & "|" & v43 & "|" & v44 & "|" & v45 linha = linha + 1 Loop Close 1 MsgBox "Processo concluído!" End Sub
-
@lonan A dica funciona sim, jovem. Seu código que não está certo.
Você está fazendo a conexão e a consulta com o pyodbc.
Depois você cria a variável dados que recebe o método read_sql do pandas e passa apenas o caminho do banco de dados e não passa a string de conexão.O erro que o python informou mostra isso: TypeError Traceback (most recent call last) Input In [878], in <cell line: 1>() ----> 1 dados = pd.read_sql(r'C:\Users\romilson\Desktop\SDC AcademY 2022\Dados\Estados.accdb') 2 print(dados.read()) TypeError: read_sql() missing 1 required positional argument: 'con'
fiz dois testes e funcionaram. Atualiza a variável "caminho_do_arquivo" e o nome da tabela na consulta SQL:
Consulta só com pyodbc:
import pyodbc driver = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}" caminho_do_arquivo = "DBQ=.\\conexao_python_access.accdb" string_de_conexao = driver + ";" + caminho_do_arquivo consulta = ("SELECT * FROM Data") conexao = pyodbc.connect(string_de_conexao) cursor = conexao.cursor() cursor.execute(consulta) linhas = cursor.fetchall() for linha in linhas: print(linha) conexao.close()
Consulta com pyodbc e pandas:
import pyodbc import pandas as pd driver = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}" caminho_do_arquivo = "DBQ=.\\conexao_python_access.accdb" string_de_conexao = driver + ";" + caminho_do_arquivo consulta = ("SELECT * FROM Data") conexao = pyodbc.connect(string_de_conexao) df = pd.read_sql(consulta, conexao) print(df) conexao.close()
Testa e depois chama se precisar de mais alguma ajuda!
-
@Pedro Herrmann você conseguiu fazer? Você seleciona dominio remetente = empresa e depois seleciona a ação mover para a pasta empresa.
-
Olá, bom dia!
Quando abrimos uma arquivo Excel pressionando a tecla shift, inibimos o disparo de uma macro do evento open.
É possível fazer este comando em vba? Abrir uma pasta de trabalho, inibindo a execução de macros auto-open.
-
@AfonsoMira Não deu certo. É estranho esse erro. Em todo caso, agradeço muito a atenção!
-
Olá, tudo certo?
Fiz uma macro no Access que gera um Recordset e salva os dados em arquivos Excel diferentes. Quando a macro roda a primeira vez não ocorre erro, mas ao rodar pela segunda vez, ocorre um erro em tempo de execução e diz que a varíavel não está definida. O que poderia ser?
-
Em 13/09/2022 às 08:18, Swalls disse:
@Midori Eu entendi sim, só acho sacanagem da microsoft nos fazer aprender uma linguágem inteira "só para usar excel e BI".
Olha, no excel online a linguagem de programação utilizada é o Typescript. Agora inclusive, é possível criar pequenos apps no excel online e importar para o excel desktop.
-
Olá, gostaria de automatizar um processo de criação de relatório no Access, daí pendei em gravar uma macho, assim como no Excel, mas não encontrei o gravador.
Essa funcionalidade não está disponível no Access? -
Olá,
tenho no ubuntu a versão 3.8 do python, mas instalei a versão 3.10.2 para estudar as novas funcionalidades. O problema é que não consigo instalar o pip para esse "novo python". Tudo que tentei, acabou instalando o pip para a versão default do python.
Como é possível instalar o pip no python 3.10.2?
Att.
-
@Basole Deu certo. Funcionou!
Desculpe me alongar, mas o que exatemente acontece nesse comando: Set fs = CreateObject("Scripting.FileSystemObject") ?
E no caso as variáveis tem que ser declaradas com o tipo "object"?
Obrigado!
- 1
-
Olá, fiz duas subs no vba para retornar a última hora que um determinado workbook foi salvo.
Na primeira retorno o dado do próprio worbook e dá ok.
Já na segunda, passo o endereço de outra pasta de trabalho e semre ocorre o erro: "qualificador inválido" e destaca a minha variável arquivo.
Poderia me ajudar a interpretar?
Sub teste_1() Dim last_save As String last_save = ActiveWorkbook.BuiltinDocumentProperties(12) MsgBox last_save End Sub Sub teste_2() Dim arquivo As String Dim resultado As String arquivo = "C:\Users\kbisp\OneDrive\controle de horas.xlsm" resultado = arquivo.BuiltinDocumentProperties(12) End Sub
Grato
-
@Junior Borges vejo duas alternativas para sua necessidade:
A mais fácil é usar o power automate como sugeri. Dá uma olhada no vídeo abaixo.
Agora se quiser usar python, tem que fazer um script para conectar na conta, procurar as mensagens, fazer o download dos anexos e depois salvá-los no diretório.
Para "startar" a execução do processo você precisará utilizar o agendador de tarefas do windows, programando os horários que você quer que o sistema operacional rode seu código.
- 1
-
você tem acesso ao Power automate da Microsoft?
Esse fluxo de downloads de emails dá pra fazer por ele.
-
@Viktor Dun Faz a importação dos dados utilizando a biblioteca pyodbc.
Cria duas variáveis:
conexão: contendo a string de conexão.
query: a consulta SQL em si.
Daí você utiliza o método sql_read do pandas. Algo assim:
df = pd.read_sql(conexão, quero)
E por último fecha a conexão com conexão.close()
-
12 horas atrás, Vinícius Afonso disse:
@Kleber Bispo E aí mano, conseguiu resolver o problema? Estou enfrentando o mesmo aqui, tanto quando tento instalar pelo Prompt de Comando ou pelo terminal do PyCharm. Talvez seja o que o @linco_araujo12tenha dito.
@Vinícius Afonso na verdade quem está com o problema é o @linco_araujo12 . Eu que aventei essa possibilidade.
-
Olá, tudo bem!?
Como é possível consultar o código fonte de bibliotecas python instaladas pelo pip? Gostaria de ler e estudar por exemplo os métodos da biblioteca openpyxl, pyodbc etc.
É possível?
Obrigado
- 1
-
Em 10/10/2021 às 15:56, linco_araujo12 disse:
@linco_araujo12 conseguiu corrigir? na segunda linha em amarelo, no segundo paratentes diz ao do tipo requere python >= 3.7.1. Talvez o pandas ainda não esteja adaptado ao python 3.10
-
Em 16/10/2021 às 09:42, Denis Bopp disse:
Qual a necessidade de preencher estes dados diariamente se eles não mudam? Basta apenas um registro! Sua aplicação deveria cuidar da lógica e não sua base de dados, se o seu aplicativo precisa de dados que mudam diariamente, justificaria um registro por dia, mas se os dados não se alteram por que gerar dados diários?
@Denis Bopp Pensando aqui, você tem total razão. Eu já estava partindo por uma lógica errada e criando dados desnecessários. Obrigado por me ajudar.
-
Prezados(as), tendo uma tabela com alguns dados fixos como parametro, que são alterados eventualmente,
ex.:
Pagamento Pix Pagamento Dinheiro Pagamento Cartão Débito Pagamento Cartão Crédito
10 % 7% 3% 0,25%
É possível criar uma base de dados em que ela se auto-preencha diariamente?
ex.:
Data Pagamento Pix Pagamento Dinheiro Pagamento Cartão Débito Pagamento Cartão Crédito
10/10/2021 10 % 7% 3% 0,25%
11/10/2021 10 % 7% 3% 0,25%
12/10/2021 10 % 7% 3% 0,25%
13/10/2021 10 % 7% 3% 0,25%
14/10/2021 10 % 7% 3% 0,25%
15/10/2021 10 % 7% 3% 0,25%
Se sim, poderia me orientar com a lógica de construção?
-
@Arthur Guillermo O que é esse gmt? Eu estava com o mesmo problema usando a biblioteca datetime. Aí descobri uma função chamada timedelta(), que um dos parâmetros é hours, daí somei +3 pra acertar.
tipo:
hora_atual - timedelta(hours=+3)
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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
Linux Lento em dual boot
em Linux
Postado
@Henrique - RJ é um SSD