dabear Skrevet 10. mai 2010 Del Skrevet 10. mai 2010 (endret) Hei. La oss anta at jeg har flere excel-instanser åpne. Disse instansene inneholder hver sin arbeidsbok. Jeg ønsker å gjøre noe med hver av disse arbeidsbøkene (feks sette celle a1 til "hellow world"). Jeg skal ikke åpne nye .xlxs-filer, men koble til allerede åpne dokumenter (både ulagrede og lagrede). Her har en kode som gjør det jeg fortalte over, for éi arbeidsbok: $excel = [system.Runtime.InteropServices.Marshal]::GetActiveObject("Excel.Application") $excel.Range("a1", "a1").value2 = "test" problemet er at GetActiveObject returnerer ett objekt, dvs første arbeidsbok. For å få tak i neste arbeidsbok må jeg da lukke første arbeidsbok før jeg kjører samme kode en gang til. Kan jeg få tak i et aktivt objekt ved hjelp av programiden istedet? PS C:\Users\bjorninge> Get-Process excel Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 872 25 23016 38992 224 4,13 2632 EXCEL 832 22 17440 33368 207 0,67 6176 EXCEL 828 25 18364 36380 212 3,95 7040 EXCEL Hver av disse excel-instansene inneholder éi arbeidsbok Endret 10. mai 2010 av dabear Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå