Ir para conteúdo
Fórum Script Brasil

Ramiro Isídio

Membros
  • Total de itens

    12
  • Registro em

  • Última visita

Sobre Ramiro Isídio

Ramiro Isídio's Achievements

0

Reputação

  1. Boa tarde! Pessoal, existe algum código que consiga selecionar determinadas células de uma planilha e após isso criar uma nova em branco, colar as informações e salvar em algum diretorio ? Eu precisava pra fazer um inpult no sistema, e como é por demanda, eu iria repetir isso com bastante frequencia. PS: Ao fazer esse processo, eu gostaria que o arquivo de destino fosse substituido.
  2. Infelizmente não deu certo. Tentei colocar em diversos lugares inserir o código mas ele não fecha o arquivo.
  3. Funcionou perfeitamente, muito obrigadooo
  4. Bom dia pessoal! Criei um código em VBA junto ao SAP, para entrar em uma transaçao e realizar a extração do relatorio substituindo em um determinado diretorio. Porém, nessas extrações, o SAP abre o arquivo, e não estou conseguindo fechar ele, alguém poderia auxiliar? Segue código abaixo: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Sub RelatorioEmb() ' ' RelatorioEmb Macro ' ' Shell "C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe", vbNormalFocus 'Appl.Wait Now + TimeValue("0:00:15") Set WSHShell = CreateObject("WScript.Shell") 'Appl.Wait Now + TimeValue("0:00:15") Do Until WSHShell.AppActivate("SAP Logon ") 'Appl.Wait Now + TimeValue("0:00:15") Loop Set WSHShell = Nothing Set SapGui = GetObject("SAPGUI") Set Applic = SapGui.GetScriptingEngine Set Connection = Applic.OpenConnection("ERP - ECC Produção", True) Set session = Connection.Children(0) 'Appl.Wait Now + TimeValue("0:00:15") On Error Resume Next session.findById("wnd[0]/usr/txtRSYST-MANDT").Text = "500" session.findById("wnd[0]/usr/txtRSYST-BNAME").Text = "LOGUIN" session.findById("wnd[0]/usr/pwdRSYST-BCODE").Text = "SENHA" session.findById("wnd[0]/usr/txtRSYST-LANGU").Text = "PT" session.findById("wnd[0]").sendVKey 0 If Not IsObject(Application) Then Set SapGuiAuto = GetObject("SAPGUI") Set Appl = SapGuiAuto.GetScriptingEngine End If If Not IsObject(Connection) Then Set Connection = Appl.Children(0) End If If Not IsObject(session) Then Set session = Connection.Children(0) End If If IsObject(wscript) Then wscript.ConnectObject session, "on" wscript.ConnectObject Appl, "on" End If session.findById("wnd[0]").maximize session.findById("wnd[0]/tbar[0]/okcd").Text = "ztmm002" session.findById("wnd[0]").sendVKey 0 session.findById("wnd[0]/usr/radRB_R").Select session.findById("wnd[0]/tbar[1]/btn[17]").press session.findById("wnd[1]/usr/cntlALV_CONTAINER_1/shellcont/shell").setCurrentCell 1, "TEXT" session.findById("wnd[1]/usr/cntlALV_CONTAINER_1/shellcont/shell").selectedRows = "1" session.findById("wnd[1]/tbar[0]/btn[2]").press session.findById("wnd[0]/tbar[1]/btn[8]").press session.findById("wnd[0]").sendVKey 8 session.findById("wnd[0]/usr/cntlCC9200/shellcont/shell").pressToolbarContextButton "&MB_EXPORT" session.findById("wnd[0]/usr/cntlCC9200/shellcont/shell").selectContextMenuItem "&XXL" session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "\\fsextrema02\ProgramacaoControleE-commerce\Inteligência de Estoque\Relatório Fluxo de Processo 7017-7006\7017\Relatorio V2\Sap Extrações" session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "RS7017.XLSX" session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 11 session.findById("wnd[1]/tbar[0]/btn[11]").press Workbooks("RS7017.XLSX").Close Set session = Nothing Connection.CloseSession ("ses[0]") Set Connection = Nothing Set sap = Nothing End Sub
  5. Serviu em partes, muito obrigado. Existe alguma forma de eu colocar no diretorio abaixo e sempre substituilo quando rodasse esse script ? \\fsextrema02\ProgramacaoControleE-commerce\Inteligência de Estoque\Relatório Fluxo de Processo 7017-7006\7017\Relatorio V2
  6. Como que colocaria para a função tarefa pegar todo o código até o ultimo main() ? Minha primeira condição é inpultar o excel na tabela.
  7. Pessoal, possuo um código que pega informações do Excel e joga no Google Sheets, porém ao tentar agendar pelo Schedule esse código ele simplesmente não roda. Segue abaixo. Aparece o seguinte erro: Indent expected: 14 No caso o erro está abaixo do Def Tarefa() tabela = pd.read_excel('LINK DA PLANILHA') from __future__ import print_function import time import pandas as pd import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build import schedule def tarefa(): tabela = pd.read_excel('LINK DA PLANILHA') SCOPES = ['https://www.googleapis.com/auth/spreadsheets'] def main(): creds = None if os.path.exists('token.json'): creds = Credentials.from_authorized_user_file('token.json', SCOPES) if not creds or not creds.valid: if creds and creds.expired and creds.refresh_token: creds.refresh(Request()) else: flow = InstalledAppFlow.from_client_secrets_file( 'client_secret.json', SCOPES) creds = flow.run_local_server(port=0) with open('token.json', 'w') as token: token.write(creds.to_json()) service = build('sheets', 'v4', credentials=creds) time.sleep(10) sheet = service.spreadsheets() result = sheet.values().get(spreadsheetId='LINK DO GOOGLE', range='Base!A1:R1').execute() values = result.get('values', []) print(values) time.sleep(10) service.spreadsheets().values().update(spreadsheetId='LINK DO GOOGLE', range='Base!A2', valueInputOption="USER_ENTERED", body=dict( majorDimension='ROWS', values=tabela.values.tolist() ) ).execute() time.sleep(10) if __name__ == '__main__': main() schedule.every().day.at("16:50").do(tarefa)
  8. Boa tarde pessoal Preciso de uma ajuda, eu tenho uma planilha em formato xlsm que possui um macro para dar um Refresh e varias mesclagens com o Power Query para me trazer a demanda. Eu atualizo ela automaticamente todo dia com o Power automate, porém quero inputar essas informações no Sheets com o Python, o Python não está reconhecendo o arquivo em Xlsm, quando eu copio e jogo manualmente no xlsx ele executa o código sem problemas. Existe alguma forma de jogar essas informações com o VBA no arquivo xlsx ?
  9. Pessoal, boa tarde! Estou tentando criar um código para importar dados do Excel e exportar no Google sheets, segue abaixo o que consegui. O Código está pelo Pycharm. A intenção é fazer esse código rodar todo dia as 08:00 da manh. import pandas as pd from google.protobuf import service tabela = pd.read_excel('DIRETORIO COM ARQUIVO') print(tabela.values.tolist()) import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow SCOPES = ['https://www.googleapis.com/auth/spreadsheets'] def main(): creds = None if os.path.exists('token.json'): creds = Credentials.from_authorized_user_file('token.json', SCOPES) if not creds or not creds.valid: if creds and creds.expired and creds.refresh_token: creds.refresh(Request()) else: flow = InstalledAppFlow.from_client_secrets_file( 'client_secret.json', SCOPES) creds = flow.run_local_server(port=0) with open('token.json', 'w') as token: token.write(creds.to_json()) sheet = service.spreadsheets() result = sheet.values().get(spreadsheetId='LINK DA PLANILHA', range='Base!A2').execute() values = result.get('values', []) response = service.spreadsheets().values().update(spreadsheetId='LINK DA PLANILHA', range='Base!A2', valueInputOption="USER_ENTERED", body=dict(majorDimension='ROWS', values=tabela.values.tolist() ) ).execute() if __name__ == '__main__': main() O Erro é esse abaixo. Não consigo resolver. Traceback (most recent call last): File "C:\Users\87839\pythonProject1\teste.py", line 34, in <module> result = sheet.values().get(spreadsheetId='1amkkoTnEj2i2Vgd4BrTwqWpT96_xFGygcE25OfXD4QM', AttributeError: 'NoneType' object has no attribute 'values'
  10. Bom dia pessoal. Seguinte, eu tenho dois arquivos, esse que está abaixo e um como planilha1, ambas possuem o mesmo nome na aba "teste". Com o código abaixo, eu consegui mostrar o que está na minha planilha principal. Como que faço pra pegar esses dados e transferir para a segunda ? "planilha1" ? Ambas no mesmo diretório. Não precisam criar o código ta galera, se me informarem o que procurar que facilita. Vejo diversos conteudos no google e cada um está falando uma coisa. import pandas as pd # mostrar dados da planilha teste = pd.read_excel('C:/Users/87839/Desktop/venv/Planilha.xlsx') print(teste)
  11. Bom dia pessoal! Estou aprendendo Python, e esse fds vou ficar sem acesso ao PC, apenas com um note, mas não posso instalar o python nele. Existe algum site que posso escrever meus codigos livremente e testa-los ? Estou fazendo os 100 exercicios do curso em video, quero tentar fazer o maximo que conseguir.
  12. Boa tarde! Pessoal, estou em duvida sobre o Phyton, tenho experiencia em Excel apenas. Estava querendo me especializar mais, porém percebi que existem bastante oportunidades voltadas para Phyton, e agora que me formei quero focar 100% em algo produtivo. Vi esses cursos e achei interessantes, mas gostaria de saber se compensam ? https://www.udemy.com/course/curso-de-programacao-em-python-do-basico-ao-avancado/ https://www.udemy.com/course/python-3-do-zero-ao-avancado/ Outra duvida, compensa fazer phyton direito, ou melhor fazer algo antes ? Toda minha experiencia profissional é voltada para logistica apenas.
×
×
  • Criar Novo...