Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

Phyton script - tilføje flere excelark

Af Maxibruger Snuff | 17-08-2021 11:17 | 2773 visninger | 10 svar, hop til seneste
Hej, Jeg har fundet nedenstående script til at åbne et excelark, opdatere og gemme/lukke det. Det virker efter hensigten, men kunne godt tænke mig at kunne tilføje flere excelark, så det eksempelvis kan åbne fem forskellige ark og opdatere dem og lukke. Er der nogen der ved om det er muligt og hvordan jeg gør? Det skal siges jeg er totalt rookie. Det er første gang i dag jeg har forsøgt mig med Phyton, men fik scriptet til at virke efter hensigten. import win32com.client import shutil #Based upon Code Sample from http://nbviewer.ipython.org[...] # and from http://stackoverflow.com[...] # Set Pathnames & Filename (Use forward slashes / instead of backslashes \ in the paths) SourcePathName = 'C:/WhateverYourPathIs' FileName = 'SpreadsheetFilename.xlsx' # Open Excel Application = win32com.client.Dispatch("Excel.Application") # Show Excel. While this is not required, it can help with debugging Application.Visible = 1 # Open Your Workbook Workbook = Application.Workbooks.open(SourcePathName + '/' + FileName) # Refesh All Workbook.RefreshAll() # Saves the Workbook Workbook.Save() # Closes Excel Application.Quit()
--
#1
Wut
Semi Nørd
17-08-2021 11:22

Rapporter til Admin
Det simpleste ville nok være, at du laver en funktion til det. https://www.w3schools.com[...] F.eks.: def updateSheet( SourcePathName, FileName) : ... og her kommer alle de linjer fra "Open excel" og nedefter (husk mellemrummene til venstre... python-logik) Herefter kan du så fyre funktionen af: updateSheet( 'c:/minPath' , 'Ark1.xls') updateSheet( 'c:/minPath' , 'Ark2.xls') updateSheet( 'c:/minPath' , 'Ark3.xls'). ...
--
Proud survivor of the Copenhagen earthquake 2008-12-16
--
Sidst redigeret 17-08-2021 11:22
#2
bc
Gæst
17-08-2021 11:24

Rapporter til Admin
Det lyder som om, at du skal bruge en for-løkke eller en while-løkke, men det afhænger lidt af hvad du vil. Er det fem filer, som er under den samme mappe, eller er det bare 5 tilfældige?
--
Gæstebruger, opret dit eget login og få din egen signatur.
#3
Snuff
Maxibruger
17-08-2021 11:35

Rapporter til Admin
#2 Filerne er i forskellige undermapper og ikke placeret i samme mappe. c:/A/1/xls1 c:/A/2/xls2 c:/A/3/xls3 eksempelvis
--
#4
Emil_Olesen
Giga Supporter
17-08-2021 11:37

Rapporter til Admin
#3 Kender du stierne? Har du stierne samlet et eller andet sted eller vil du taste dem manuelt ind i koden? EDIT: Du kunne fek.s gøre sådan her, hvis det skal være simpelt: sourcePaths = ["c:/A/1/xls1", "c:/B/1/xls2", "c:/Q/45/xls3"] for i in sourcePaths: updateSheet(i)
--
Dette indlæg bliver overvåget af NSA.
--
Sidst redigeret 17-08-2021 11:40
#5
Snuff
Maxibruger
17-08-2021 11:39

Rapporter til Admin
#1 Beklager min uvidenhed, men hvor skal linjen placeres og skal den erstatte noget af det eksisterende? def updateSheet( SourcePathName, fileName):
--
#6
Snuff
Maxibruger
17-08-2021 11:40

Rapporter til Admin
#4 Ja, jeg kender stierne. Tænkte blot at indtaste dem manuelt.
--
#7
GumpDK
Elite Supporter
17-08-2021 11:45

Rapporter til Admin
Det nemmeste ville være at kopiere din eksisterende kode og paste den ind 4 gange efter det nuværende. Og så lige rette sti og filnavn til i hver sektion. Det er på ingen måde pæn eller god kode, men nu er der ikke tale om noget stort. Det vil få opgaven løst. Det kræver ikke at man sætter sig ind i "ny" kode eller andet, det er bare en gentagelse af det der allerede virker...
--
#8
Snuff
Maxibruger
17-08-2021 11:51

Rapporter til Admin
#7 kan man godt det? Så tror jeg umiddelbart det er måden at gøre det på :) Som skrevet, så har jeg aldrig gjort mig i programmering. @Alle Tak for hjælpen :)
--
#9
Emil_Olesen
Giga Supporter
17-08-2021 11:51

Rapporter til Admin
#8 Har et eksempel her som er en blanding af det jeg og #1 har skrevet. https://pastebin.com[...] Så slipper du for at have det samme kode 4 gange :) Har ikke excel, så har ikke testet det. Det er heller ikke super flot kode, skriver normalt ikke Python :) Det kode du skriver under updateSheet, er så det kode du vil have til at ske på alle dine excel ark. EDIT: Når det så er sagt, hvis det bare skal virke lige nu og her, så kan det da godt være det er nemmere bare at copy/paste dit eksisterende kode (på nær dine 2 øverste linjer med import)
--
Dette indlæg bliver overvåget af NSA.
--
Sidst redigeret 17-08-2021 11:54
#10
Snuff
Maxibruger
17-08-2021 11:55

Rapporter til Admin
#9 Det er super, 1000tak. Den prøver jeg mig lige med i første omgang :)
--

Opret svar til indlægget: Phyton script - tilføje flere excelark

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning